gpt4 book ai didi

android - 使用 .aar NoClassDefFoundError 但类存在并且被删除

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

我构建了几个项目来创建 .aar。然后我将这个 .aar 导入到/libs 下的 Android Studio 中。此依赖项的 build.gradle 文件如下所示:

repositories{
flatDir{
dirs 'libs'
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.0.0'
compile 'com.google.android.gms:play-services:7.0.0'
compile 'com.android.support:multidex:+'
compile(name: 'customApi-debug', ext:'aar')
}

由于库很大,我设置了 multiDexEnabled = true。 Android Studio 找到库并自动完成工作。构建工作也很好,但运行应用程序会出现以下错误:

java.lang.NoClassDefFoundError: com.companyx.android.api.ui.vision.metaio.MetaIoView
at com.companyx.android.api.ui.vision.metaio.MetaIoView$$InjectAdapter.<init>(MetaIoView$$InjectAdapter.java:29)

我分别对 .aar 和 dex 文件进行了解压和反汇编,并验证了其提示的类确实存在。我已经尝试过现有的方法来处理这个问题,但都没有奏效。

有没有人遇到过这种情况?提前致谢。

最佳答案

我遇到了同样的问题。解决方法是首先将 AAR 文件部署到本地 maven(我使用了位于 https://github.com/dcendents/android-maven-gradle-plugin 的插件)。然后我引用了本地 maven,如 https://stackoverflow.com/a/23045791/2563009 中所述。 .最后我用传递选项声明了依赖关系,如下所示:

dependencies {
compile('com.myapp.awesomelib:awesomelib:0.0.1@aar') {
transitive = true
}
}

然后错误就消失了。

关于android - 使用 .aar NoClassDefFoundError 但类存在并且被删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29857141/

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