gpt4 book ai didi

android - VerifyError: Verifier 使用 Gradle Plugin 3.2.0 + Proguard 拒绝类 com.google.firebase.FirebaseApp 来剥离日志

转载 作者:行者123 更新时间:2023-11-29 14:34:41 28 4
gpt4 key购买 nike

在我们的项目中,我们一直成功地使用:

  • Firebase(用于 FCM)
  • Crashlytics(用于报告崩溃)
  • Proguard(优化版)

一切都很顺利,直到上周我们升级到 gradle plugin 3.2.0

在这个版本中,如果我们有以下proguard配置来移除对Log的调用:

-assumenosideeffects class android.util.Log { *; }

运行应用程序时,我们得到:

java.lang.VerifyError: Verifier rejected class com.google.firebase.FirebaseApp: void com.google.firebase.FirebaseApp.() failed to verify: void com.google.firebase.FirebaseApp.(): [0x37] register v0 has type Uninitialized Reference: java.lang.Object Allocation PC: 53 but expected Reference: java.lang.Object void com.google.firebase.FirebaseApp.(android.content.Context, java.lang.String, com.google.firebase.b) failed to verify: void com.google.firebase.FirebaseApp.(android.content.Context, java.lang.String, com.google.firebase.b): [0x3C] register v8 has type Uninitialized Reference: com.google.firebase.internal.a Allocation PC: 58 but expected Reference: com.google.firebase.FirebaseApp$a com.google.firebase.FirebaseApp com.google.firebase.FirebaseApp.a(android.content.Context, com.google.firebase.b, java.lang.String) failed to verify: com.google.firebase.FirebaseApp com.google.firebase.FirebaseApp.a(android.content.Context, com.google.firebase.b, java.lang.String): [0x17] register v1 has type Uninitialized Reference: com.google.firebase.FirebaseApp$1 Allocation PC: 21 but expected Reference: com.google.android.gms.common.api.internal.a$a (declaration of 'com.google.firebase.FirebaseApp' appears in /data/app/com.example.app-2/base.apk)`

如果我们删除该配置以去除对 Log 的调用,一切都很好,就像在以前版本的 gradle 插件 (3.1.4) 中一样。

有没有人知道可能导致这种情况的原因?

最佳答案

proguard -assumenosideeffectsLog 似乎有问题。

尝试仅对您使用的方法以及依赖于那些 Log 方法的任何方法使用 -assumenosideeffects

类似于:

-assumenosideeffects class android.util.Log {
public static *** v(...);
public static *** d(...);
public static *** i(...);
public static *** w(...);
public static *** e(...);
}

而不是通常的

-assumenosideeffects class android.util.Log {*;}

希望这对您有所帮助。

关于android - VerifyError: Verifier 使用 Gradle Plugin 3.2.0 + Proguard 拒绝类 com.google.firebase.FirebaseApp 来剥离日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52590684/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com