Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Proguard混淆了谷歌';s类和忽略-保留_Java_Android_Proguard - Fatal编程技术网

Java Proguard混淆了谷歌';s类和忽略-保留

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

在我的项目中,我不希望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.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);
}
这就成功了