【问题标题】:Proguard obfuscates google's classes and ignore -keepProguard 混淆了 google 的类并忽略 -keep
【发布时间】:2015-08-30 03:54:51
【问题描述】:

在我的项目中,我不想让 proguard 混淆我的 Log 类,所以我使用

-keep class org.core.sandfall.game.utils.Log { public static void e(java.lang.String); }

它有效。

我也不希望 proguard 混淆 google 的排行榜,特别是 submitScore 方法(用于我自己的项目)。

无论我使用什么 -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 导致 proguard 崩溃(-verbose 没有说明原因),并且

-outjars ../Sandfall/lib/google-play-services.jar

-libraryjars ../Sandfall/lib/google-play-services.jar 不起作用,尽管 proguard 运行。

编辑(2):出于某种奇怪的原因,

-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable { public static final *** NULL; }

保持 SafeParcelable ,但是

-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); } 没有。

【问题讨论】:

    标签: java android proguard


    【解决方案1】:

    最后,我所做的只是只写

    -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);
    }
    

    而且成功了!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多