【问题标题】:Proguard unresolved references to classesProguard 未解析的类引用
【发布时间】:2017-08-20 09:32:50
【问题描述】:

在使用 Proguard 构建 apk 时,我看到了这些警告:

com.google.android.gms.internal.zzaq: can't find referenced class com.google.android.gms.internal.zzzk
com.google.android.gms.internal.zzaq: can't find referenced class com.google.android.gms.internal.zzzk$zza
com.google.android.gms.internal.zzaq: can't find referenced class com.google.android.gms.internal.zzzk
com.google.android.gms.internal.zzaq: can't find referenced class com.google.android.gms.internal.zzzk$zza
com.google.android.gms.internal.zzaq: can't find referenced class com.google.android.gms.internal.zzzk$zza
com.google.android.gms.internal.zzaq: can't find referenced class com.google.android.gms.internal.zzzk$zza
com.google.android.gms.internal.zzaq: can't find referenced class com.google.android.gms.internal.zzzk
com.google.android.gms.internal.zzaq$1: can't find referenced class com.google.android.gms.internal.zzzk
com.google.android.gms.internal.zzaq$1: can't find referenced class com.google.android.gms.internal.zzzk
com.google.android.gms.internal.zzbd: can't find referenced class com.google.android.gms.internal.zzaqg
com.google.android.gms.internal.zzbd: can't find referenced class com.google.android.gms.internal.zzzk
com.google.android.gms.internal.zzbd: can't find referenced class com.google.android.gms.internal.zzzk
com.google.android.gms.internal.zzbd: can't find referenced class com.google.android.gms.internal.zzaqg
com.google.android.gms.internal.zzej: can't find referenced field 'int[] AdsAttrs' in program class com.google.android.gms.R$styleable
com.google.android.gms.internal.zzej: can't find referenced field 'int AdsAttrs_adSize' in program class com.google.android.gms.R$styleable
com.google.android.gms.internal.zzej: can't find referenced field 'int AdsAttrs_adSizes' in program class com.google.android.gms.R$styleable
com.google.android.gms.internal.zzej: can't find referenced field 'int AdsAttrs_adUnitId' in program class com.google.android.gms.R$styleable

我正在使用 Google Play Services 10.2.0,模块 ads、ads-lite、analytics、analytics-impl、base、basement、drive、games、tasks。

需要包含哪些模块或库来修复这些警告?

【问题讨论】:

    标签: android google-play-services android-proguard


    【解决方案1】:

    基于这个thread,如果你使用ProGuard,你需要保留一些GMS(Google Play Services)类,并用@com.google.android.gms.common.annotation.KeepName注解。

    您需要像编译一样忽略,但您还需要保留该类,以便它可以在运行时找到它。

    将这两行添加到您的 proguard 配置文件中:

    -keep class com.google.android.gms.** { *; }
    -dontwarn com.google.android.gms.**
    

    您还可以查看这些相关的 SO 帖子:

    【讨论】:

      猜你喜欢
      • 2020-08-17
      • 2020-09-25
      • 1970-01-01
      • 2019-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      相关资源
      最近更新 更多