混淆设置

来源:互联网 发布:vb.net开发帮助文档 编辑:程序博客网 时间:2024/05/03 17:29
CASE:
Resource project + Main project


【注意】一般如果在Eclipse里面设定了Is Libary project, 用ANT 执行AUTO-BUILD 的时候是默认生成一个JAR包;否则会自动生成APK。


1. 混淆resource project java:
配置混淆文件注意事项:
1. JNI Native methods 不用混淆
-keepclassmembers public class com.ubiLive.GameCloud.CloudGamePlayer {
private long mNativeContext64Bit;
private int mNativeContext;
private android.view.Surface mSurface;
static <methods>;
native <methods>;
}

2.配置有以下类型:
-keep,allowshrinking class com.ubiLive.GameCloud.GameInfo {
<fields>; //所有变量不混淆
}


-keep class com.ubiLive.GameCloud.dui.provider.DuiComponentProvider { 
*; //全部不混淆


3. Thirdparty library 依懒
-libraryjars   libs/gc_dynamiclib.jar //引入依懒第三方库
//以下是加入第三方JAR 合成生成一个JAR
-injars libs/gc_dynamiclib.jar 
-injars bin/classes.jar
-outjars bin/gcplayerC2pSDK.jar //合成输出一个JAR

4. 加入#-----android.pro default setting------//参考SDK路径下的 see \Android_SDK\tools\proguard


5. resources project 的 project.properties 设定:
target=android-19
proguard.config=proguard.cfg
android.library=true

2. 混淆Main project java:
1. 修改proguard-android.txt //参考SDK路径下的 see \Android_SDK\tools\proguard
加入不混淆resource project 的配置元素
exp: 
#--------------------------GCPlayer SDK-------------------------
-include ../resources/GCplayerC2p/proguard.cfg

2. project.properties 
target=android-19
manifestmerger.enabled=true
proguard.config=proguard-android.txt
android.library.reference.1=../resources/GCplayerC2p
0 0