gpt4 book ai didi

java - NoClassDefFoundError at Runtime on class inside .AAR in Android Studio

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:54:29 25 4
gpt4 key购买 nike

我已经研究了很多小时来寻找可能的解决方案,但无论我尝试什么都失败了。这是解释的情况:

我在 Android Studio 上有这个库项目,它生成 app-debug.aar 文件。然后我在实现项目中添加这个新模块,按照向导导入 .JAR/.AARs 我选择 .aar 并更新项目中 :app 的依赖项结构。

清理项目后(甚至使用 ./gradlew clean--Mac OS X)我可以在任何 Activity 中引用此类及其方法。

现在在运行时,一旦构建并安装在真实设备上,应用程序将崩溃并抛出上述运行时异常。

注意:我正在导入 .aar 因为我需要保护代码并且它有资源所以 .jar 是不可能的。如果我导入库模块(使用源和全部而不是 .aar),那么应用程序在运行时没有问题。

我已经尝试了所有方法,如果有人可以阐明这可能是什么,我们将不胜感激。

该类扩展 ViewGroup 并在运行时实例化以防万一。代码已提供给我,因此除非绝对必要,否则可能无法进行重大更改。

预先感谢大家!

阿曼多

最佳答案

对于那些仍在寻找解决方案的人来说,以下两个选项对我有用,可以解决与 OP 提到的完全相同的问题。

  • 在目标模块中也包含(有问题的)库依赖项,即在我的例子中,我将 protobuf-lite 作为我的库模块的依赖项包含在内,但出现 noclassdefFound 错误当 lib 在应用程序模块中导入为 .aar 时。作为一种变通方法,我也将 protobuf-lite 依赖项添加到我的应用程序模块中,并且效果很好。

  • 第二个选项对我有用,我没有添加 gradle 依赖项`compile 'com.google.protobuf:protobuf-lite:3.0.1',而是从 maven 下载了 protobuf-jar 并手动添加到我的库模块的库,问题就解决了。

不知道 gradle 插件有什么问题,但希望它能帮助其他人寻找同样的问题。

关于java - NoClassDefFoundError at Runtime on class inside .AAR in Android Studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28357692/

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