1、右击工程->Run As->Android Application 方式build出来的apk不是混淆;
2、右击工程->Android Tools->Export unsigned Application Package方式build出来的apk是混淆的;
如何让方式一达到方式二的效果?
2、右击工程->Android Tools->Export unsigned Application Package方式build出来的apk是混淆的;
如何让方式一达到方式二的效果?
解决方案 »
- android VideoView 播发网络在线视频的时候怎么实现快进后退功能?
- 关于文件的标识Context.MODE_APPEND,是不是只对创建文件的应用起作用。
- 关于android 后台运行service 的问题
- 请问如何在/data/data/目录下创建文件?
- 以下是Ubuntu 下执行命令行 ./grxmlcompile -par /home/SREC/baseline11k.par -grxml digits.g
- 【求助】15天能做出一个参加papaya比赛的游戏么?
- 编译Android2.3提示“You are attempting to build on a 32-bit system”
- android EditText 模拟器中无法输入字符
- [一维条码扫描][移动开发]如何在安卓的pad上实现一维条码扫描?
- 兄弟们,这是什么错误?
- android在service里可以启动camera么?
- android ndk ffmpeg时,如何设置相关的编译选择,就能只编译h264相关的解码器?
1 proguard.cfg,这就是混淆所需的proguard脚本。
其代码如下:
view plain
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-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 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 *;
}
从脚本中可以看到,混淆中保留了继承自Activity、Service、Application、BroadcastReceiver、ContentProvider等基本组件。
并保留了所有的Native变量名及类名,所有类中部分以设定了固定参数格式的构造函数,枚举等等。(详细信息请参考<proguard_path>/examples中的例子及注释。)
2 在工程的"default.properties"中添加这样一句话“proguard.config=proguard.cfg”
打包签名后的.apk就是混淆的,其实我们只要做一步就可以了就是在"default.properties"中添加这样一句话“proguard.config=proguard.cfg”就可以了。