Java Proguard混淆了谷歌';s类和忽略-保留
在我的项目中,我不希望proguard混淆我的日志类,所以我使用Java Proguard混淆了谷歌';s类和忽略-保留,java,android,proguard,Java,Android,Proguard,在我的项目中,我不希望proguard混淆我的日志类,所以我使用 -保留类org.core.sandfall.game.utils.Log{ 公共静态void e(java.lang.String); } 它是有效的 我也不希望proguard混淆google的排行榜,特别是SubmitCore方法(对于我自己的项目) 无论我使用什么-keep,它都会混淆它 -keep public class com.google.android.gms.** {*;} -keep class com.goo
-保留类org.core.sandfall.game.utils.Log{
公共静态void e(java.lang.String);
}
它是有效的
我也不希望proguard混淆google的排行榜,特别是SubmitCore方法(对于我自己的项目)
无论我使用什么-keep,它都会混淆它
-keep public class com.google.android.gms.** {*;}
-keep class com.google.android.gms.** {*;}
-keepclassmembers class com.google.android.gms.** {*;}
-keepclasseswithmembers class com.google.android.gms.** {*;}
-keepnames class com.google.android.gms.** {*;}
-keepattributes Exceptions,InnerClasses
-keep class com.google.android.gms.games.internal.api.LeaderboardsImpl$* {
*;
}
-keep public class com.google.android.gms.games.internal.api.LeaderboardsImpl {
*** *submitScore(...);
}
-keep class com.google.android.gms.games.internal.api.LeaderboardsImpl {
*** *submitScore(...);
}
-keep class com.google.android.gms.games.internal.api.*$* {
*;
}
我试着把它们分开使用,或者一起使用,但没有成功。
我做错了什么(我在哪里打错了)
编辑:
-injars../Sandfall/lib/google play services.jar
couses proguard to crash(-verbose
没有说明原因),以及
-outjars../Sandfall/lib/google play services.jar
或
-libraryjars../Sandfall/lib/google play services.jar
不工作,尽管proguard运行
编辑(2):出于某种奇怪的原因
-保持公共类com.google.android.gms.common.internal.safeparcel.SafeParcelable{
公共静态最终***空;
}
使保险箱可随身携带,但
-keep class com.google.android.gms.games.internal.api.leadboard siml{
public void submitcore(com.google.android.gms.common.api.GoogleApiClient、java.lang.String、java.lang.Long);
}
没有。最后,我只写了
-keep class com.google.android.gms.games.**{*;}
-keep class com.google.android.gms.games.internal.api.LeaderboardsImpl {
public void submitScore(com.google.android.gms.common.api.GoogleApiClient, java.lang.String, java.lang.Long);
}
这就成功了