gpt4 book ai didi

android - 没有静态方法 isDeviceProtectedStorage 运行时错误

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:41:17 26 4
gpt4 key购买 nike

对于同一问题,这里有许多问题,但没有一个解决根本原因或我所看到的 - 因此建议的答案没有帮助。

我的应用程序构建没有问题,但是,在运行时,我不断收到运行时异常:

java.lang.NoSuchMethodError: No static method isDeviceProtectedStorage(Landroid/content/Context;)Z in class Landroid/support/v4/content/ContextCompat; or its super classes (declaration of 'android.support.v4.content.ContextCompat' appears in /data/app/com.ohmd-1/base.apk:classes116.dex)
at com.google.firebase.FirebaseApp.zzc(Unknown Source)
at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1748)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1723)
at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)

我从其他问题中看到,这可能与具有不同版本的依赖项中的支持库有关,因此我通过将以下内容添加到我的 gradle 中来强制执行单个库版本:

configurations.all {
resolutionStrategy {
force 'com.google.firebase:firebase-core:15.0.2'
force 'com.google.firebase:firebase-messaging:15.0.2'
}
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group.equals('com.android.support')) {
if (!requested.name.startsWith("multidex")) {
details.useVersion '28.0.0'
}
}
}
}

然而,这似乎并没有什么不同。我在我的依赖关系树中看到,所有支持版本确实是 28.0.0,如 resoutionStrategy 中指定的那样,因此看起来该部分正在运行。

我的完整 gradle 文件是 here .

我已经发布了我的 gradle 依赖项 (./gradlew app:dependencies) here .

此时,我正在尝试学习如何正确调试它。我完全不知所措。 有人知道如何调试此类错误吗?

当然,我已经多次清理并使缓存失效。

更新

我发现问题确实出在 FirebaseApp 的 initializeAllApis 部分。具体行是:

boolean isDeviceProtectedStorage = ContextCompat.isDeviceProtectedStorage(this.applicationContext);

ContextCompat 表示它来自 com.android.support:support-compat:28.0.0

所以这似乎是在引用最近的,但是当这一行执行时,我得到了上面的堆栈跟踪。因此,虽然我正在缩小范围,但我仍然不确定为什么会抛出这个错误或如何修复它。

最佳答案

该问题可能与 firebase-core 有关。 Firebase-core 依赖于 com.android.support:support-v4:24.0.0,要使用的最低 android API 是 24。确保你的 firebase 核心库版本与你正在使用的 API 版本相匹配。在这里看看:Firebase library dependencies

关于android - 没有静态方法 isDeviceProtectedStorage 运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55433218/

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