Android代码混淆
16lz
2022-06-12
代码混淆步骤:
1,project.properties中打开代码混淆功能proguard.config=proguard.cfg
2,编辑proguard.cfg文件,内容如下
-optimizationpasses 5-dontusemixedcaseclassnames-dontskipnonpubliclibraryclasses-dontpreverify-verbose-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*-ignorewarnings-libraryjars libs/android-support-v4.jar-dontwarn android.support.v4.** -keep class android.support.v4.** { *; } -keep interface android.support.v4.app.** { *; } -keep public class * extends android.support.v4.** -keep public class * extends android.app.Fragment-libraryjars libs/asmack.jar-libraryjars libs/aws-android-sdk-1.7.1.1-core.jar-libraryjars libs/aws-android-sdk-1.7.1.1-s3.jar-libraryjars libs/LibFrameWidget.jar-libraryjars libs/LibFramework.jar-libraryjars libs/locSDK_4.0.jar-libraryjars libs/umeng_sdk.jar-libraryjars libs/zxing-core.jar-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 com.android.vending.licensing.ILicensingService-keepclasseswithmembernames class * { native <methods>;}-keepclasseswithmembernames class * { public <init>(android.content.Context, android.util.AttributeSet);}-keepclasseswithmembernames class * { public <init>(android.content.Context, android.util.AttributeSet, int);}-keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String);}-keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *;}
应该注意的地方如下:
1,android-support-v4.jar报错的话,要加上下面的代码
-ignorewarnings
-dontwarn android.support.v4.**
-keep class android.support.v4.** { *; }
-keep interface android.support.v4.app.** { *; }
-keep public class * extends android.support.v4.**
-keep public class * extends android.app.Fragment
2,所有的*.jar包都要加上
-libraryjars libs/*.jar
3,混淆代码除了可以更安全还有一个好处是:你的APK文件变得更小,大概为混淆之前的1/2吧。
更多相关文章
- Android(安卓)apk下载 安装 卸载 打开
- Android(安卓)代码里设置ImageView的src和background
- Android架构分析之JNI
- android ORM 关系映射 ormLite
- Android(安卓)定制万能Adapter
- android 状态栏占位_Android(安卓)Studio 全屏沉浸式透明状态栏
- Android简单文件浏览器源代码
- android 广播传参数
- android 获取设备真实ip地址