cocos2dx项目使用proguard
来源:互联网 发布:js获取a标签href 编辑:程序博客网 时间:2024/05/17 12:56
如果你的应用要上架googleplay,则必须使用加密。 android SDK中已经集成了proguard。 因此,整个流程就容易多了。
在proj.android下的project.properties文件中,加入一行 proguard.config=proguard.cfg
然后,将{android-sdk-root}/tools/proguard/proguard-android.txt 拷贝过来,改名为proguard.cfg。(这里还有一个带 optimize的,具体操作直接看这个文件里面的说明就可以了。)
如果你的项目集成了第三方JAR库,则像下面这样无脑添加如下选项,保证你没问题
一、添加外部引用
-libraryjars ./libs/tapjoyconnectlibrary.jar
-libraryjars ./libs/chartboost.jar
-libraryjars ./libs/crashlytics.jar
-libraryjars ./libs/in-app-purchasing-2.0.1.jar
二、指定不混淆且不提示下面的包错误(这是第三方包,我们要保护的是自己的代码,所以,没必要混淆它)
-keep class com.tapjoy.** { *; }
-keep class com.amazon.** { *; }
-dontwarn com.amazon.**
-dontwarn com.tapjoy.**
注:如果你的SDK有明确告诉你哪些系统库不能忽略,则你需要手工指定。比如tapjoy明确了要添加下面的代码。
-keep class com.tapjoy.** { *; }
-keepattributes JavascriptInterface
-keep class * extends java.util.ListResourceBundle {
protected Object[][] getContents();
}
-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
public static final *** NULL;
}
-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
@com.google.android.gms.common.annotation.KeepName *;
}
-keepnames class * implements android.os.Parcelable {
public static final ** CREATOR;
}
-keep class com.google.android.gms.ads.identifier.** { *; }
三、-keep class org.cocos2dx.lib.** {*;}
这个加了,才能防止org.cocos2dx.lib的代码不被proguard移除。因为proguard会帮你删掉未引用的代码。、
而你的org.cocos2dx.lib是被JNI调用的,proguard查不到你对他的引用,所以默认情况下,会被移除。因此你只能手工指定一下了。 否则启动不了游戏。
四、加上自己的JNI代码。
和org.cococs2dx.lib一样,如果你自己提供了需要C++调用的JNI类,你得自己手工指定保留。比如
-keep class com.dreamhunters.JNI {*;}
- cocos2dx项目使用proguard
- cocos2dx项目使用proguard
- 使用proguard混淆java web项目代码
- 使用proguard混淆java web项目代码
- java项目加密,使用Proguard进行项目混淆加密
- proguard 使用
- proguard 使用
- Proguard 使用
- cocos2dx使用python创建项目
- cocos2dx使用python新建项目
- 使用python创建cocos2dx 项目
- cocos2dx使用python创建项目
- cocos2dx项目使用svn注意事项
- 【Proguard】android 中 Proguard 使用
- Maven WEB 项目使用ProGuard进行混淆,最佳解决方案
- Maven WEB 项目使用ProGuard进行混淆,最佳解决方案&详解
- Maven WEB项目使用ProGuard进行混淆,最佳解决方案
- Maven WEB 项目使用ProGuard进行混淆,最佳解决方案
- 头文件用途
- MySql
- Prototype 原型模式
- 杭电ACM多项式求和--》2011
- git 使用心得
- cocos2dx项目使用proguard
- iOS沙盒机制
- Java基本功——Reference
- js闭包的用处
- Android之Handler用法总结
- python进阶学习笔记(一):打开文件
- 杭电ACm水仙花数2010谁能帮忙分析一下两段代码的区别;第二个通不过啊
- WIN7下的VS2008在调试OpenCV_2.3.1的程序时报错丢失tbb_debug.dll的解决办法~
- servlet生命周期及web.xml配置