Android Cocos2dx游戏与Proguard崩溃

Android Cocos2dx游戏与Proguard崩溃,android,cocos2d-x,proguard,Android,Cocos2d X,Proguard,我已经完成了我的游戏,我正在尝试启用Proguard,但游戏正在崩溃。我已经在cocos2dx论坛上发布了 我知道这里也有人问过类似的问题 但这个问题没有答案。另外,我可以评论它,因为我没有足够的声誉。我的proguard配置文件包含以下内容: -optimizationpasses 1 -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontpreverify -verbose -dontwarn com.googl

我已经完成了我的游戏,我正在尝试启用Proguard,但游戏正在崩溃。我已经在cocos2dx论坛上发布了

我知道这里也有人问过类似的问题 但这个问题没有答案。另外,我可以评论它,因为我没有足够的声誉。我的proguard配置文件包含以下内容:

-optimizationpasses 1
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-dontwarn com.google.api.client.googleapis.extensions.android.gms.**
-dontwarn com.google.code.**
-dontwarn oauth.signpost.**
-dontwarn twitter4j.**
-dontwarn org.apache.**
-dontwarn org.json.*
-dontwarn org.mortbay.**
-dontwarn org.apache.log4j.**
-dontwarn org.apache.commons.logging.**
-dontwarn org.apache.commons.logging.**
-dontwarn org.apache.commons.codec.binary.**
-dontwarn javax.xml.**
-dontwarn javax.management.**
-dontwarn java.lang.management.**
-dontwarn android.support.**
-dontwarn org.codehaus.**

-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*

-keep class * extends java.util.ListResourceBundle {
protected Object[][] getContents();
}

-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
-keep class android.support.v4.** { *; }  

-keepclasseswithmembernames class * {
    native <methods>;
}


-keep class org.cocos2dx.lib.** { *; }
-keep class com.chartboost.** { *; }

-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}

-keepclasseswithmembernames class * {
public <init>(android.content.Context, android.util.AttributeSet);
}

-keepclasseswithmembernames class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}

-keepnames @ com.google.android.gms.common.annotation.KeepName class * 
-keepclassmembernames class * { 
@ Com.google.android.gms.common.annotation.KeepName *; 
} 

-keepclassmembers public class org.cocos2dx.lib.* {
*;
}   


# ADMOB
-keep public class com.google.ads.**
-dontwarn com.google.ads.**
-keepclassmembers class com.google.ads.AdView {
<init>(...);
public void *(...);
}
-keepclassmembers class com.google.ads.AdSize {
public static <fields>;
}
-keepclassmembers class com.google.ads.AdRequest {
<init>(...);
public void *(...);
}
-keepclassmembers class com.google.ads.AdListener {
<init>(...);
public void *(...);
}

-keep class * implements android.os.Parcelable {
  public static final android.os.Parcelable$Creator *;
}

感谢您的帮助。谢谢

在回答我自己的问题时,我启用了CheckJNI,并且能够查看指向Java类中静态函数的日志,该函数是我为JNI调用编写的。Proguard正在剥离这些函数,因为它们没有从Java代码的任何地方调用

-keep class com.comapnyName.gamename.classname {
static <methods>;
}
-保留类com.comapnyName.gamename.classname{
静止的
}
解决了这个问题

-keep class com.comapnyName.gamename.classname {
static <methods>;
}