百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>html5教程> 平安编程之Android APK打包代码混同(代码实例)
分享文章到:

平安编程之Android APK打包代码混同(代码实例)

发布时间:09/01 来源:未知 浏览: 关键词:
本篇文章给大家带来的内容是关于平安编程之Android APK打包代码混淆(代码实例),有必然的参照 价值,有需要的伴侣可以参照 一下,但愿对你有所帮忙。

第一步:在项目工程名目下的proguard-rules.pro文件中配置自定义的混淆规则

#留意:
#1.援用外部的jar包 假如不是本人写的最好不混淆它们,由于外部jar包有大概已经混淆过
#2.不要混淆XML规划中使用的自定义控件类,混淆后加载规划会报寻不到该控件错误
#3.不要混淆Manifests中配置的组件类,混淆后系统会寻因不到该组件而报错
#------------------------------------------------------------------
#指定代码的紧缩级别
-optimizationpasses 5
#表示混淆时不使用大小写混合类名,混淆后的类名为小写
-dontusemixedcaseclassnames
#表示不停止优化,倡议使用此选项,由于按照proguard-android-optimize.txt中的描写,优化大概会造成一些潜在风险,不克不及包管在所有版本的Dalvik上都正常运转。
-dontoptimize
# 混淆时输出日志
-verbose
#混淆时所采纳的算法,一样不改动,用谷歌引荐算即可
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
#不混淆这些类的子类 不需要混淆系统组件等
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService
#表示不混淆任何包括native办法的类的类名乃至native办法名
-keepclasseswithmembernames class * {
    native <methods>;
}
#表示不混淆任何一个View中的setXxx()和getXxx()办法,由于属性动画需要有响应的setter和getter的办法实现,混淆了就没法工作了。
-keepclassmembers public class * extends android.view.View {
   void set*(***);
   *** get*();
}
#表示不混淆Activity中参数是View的办法,由于有这样一种用途,在XML中配置android:onClick=”buttonClick”属性,当会员点击该按钮时就会调取Activity中的buttonClick(View view)办法,假如这个办法被混淆的话就寻不到了。
-keepclassmembers class * extends android.app.Activity {
    public void *(android.view.View);
}
#表示不混淆枚举中的values()和valueOf()办法
-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}
#表示不混淆Parcelable实现类中的CREATOR字段,毫无疑问,CREATOR字段是绝对不克不及改动的,包罗大小写都不克不及变,不然整个Parcelable工作机制都会失败。
-keepclassmembers class * implements android.os.Parcelable {
    public static final android.os.Parcelable$Creator CREATOR;
}
#表示不混淆R文件中的所有静态字段,我们都知道R文件是通过字段来记载每个资源的id的,字段名如果被混淆了,id也就寻不着了。
-keepclassmembers class **.R$* {
    public static <fields>;
}
#保持自定义控件类不被混淆
-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet);
}
#保持自定义控件类不被混淆
-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet, int);
}
#过滤掉本人编写的实体类乃至自定义控件类
-keep class com.beacon.supertool.bean.**{*;}
-keep class com.beacon.supertool.widget.**{*;}

#不需要混淆第三方类库
-dontwarn android.support.v4.**                #去除警告
-keep class android.support.v4.** { *; }        #过滤android.support.v4
-keep interface android.support.v4.app.** { *; }
-keep public class * extends android.support.v4.**
-keep public class * extends android.app.Fragment
#不需要混淆butterknife
-dontwarn butterknife.**
-keep class butterknife.** { *;}
#不需要混淆gson
-dontwarn com.google.**
-keep class com.google.gson.** {*;}
#不需要混淆glide
-dontwarn com.bumptech.glide.**
-keep class com.bumptech.glide.** {*;}
#不需要混淆okhttp3 okio
-dontwarn okhttp3.**
-keep class okhttp3.** {*;}
-dontwarn okio.**
-keep class okio.** {*;}

#不需要混淆第三方库库或jar......

第二步:在项目工程名目下的build.gradle文件中修改

   buildTypes {
//      debug版本的配置
        debug {
            versionNameSuffix "-debug"
            minifyEnabled false
            zipAlignEnabled false
            shrinkResources false
            signingConfig signingConfigs.debug
        }
//      release版本的配置
        release {
            // 不显示Log
            buildConfigField "boolean", "LOG_DEBUG", "false"
            //混淆
            minifyEnabled true
            //Zipalign优化
            zipAlignEnabled true
            // 移除无用的resource文件
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

以上就是对平安编程之Android APK打包代码混淆(代码实例)的全部介绍,假如您想理解更多有关HTML视频教程,请关注PHP中文网。

以上就是平安编程之Android APK打包代码混淆(代码实例)的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有150人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板