运行时的NoClassDefFoundError在Android Studio中的.AAR类中

Arm*_*ndo 5 java android gradle android-studio aar

我已经研究了很多小时关于可能的解决方案,但无论我尝试它只是失败.这是解释的情况:

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

一旦清理了项目(甚至使用./gradlew clean--Mac OS X),我可以在任何活动中引用该类及其方法.

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

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

我已经尝试了所有的东西,如果有人能够对这可能会有所了解,那么我将非常感激.

该类扩展ViewGroup并在运行时实例化,以防任何事情.代码是给我的,所以除非绝对必要,否则可能无法进行重大改变.

先谢谢大家!

阿曼多

Arm*_*ndo 1

NoClassDefFound错误实际上发生在我在问题(“A 类”)中提到的此类所使用的向后兼容库上。除了无法找到 A 类之外,没有给出任何详细信息,后来发现另一个类也有类似的问题,但指向具有相同异常的 compat lib,我注意到 A 类也在调用其方法并实现其方法回调。通过提高min version(使用本机 API)我可以克服这个问题。.aar看起来确实是一个将向后比较库包含在内的问题。如果我更好地理解这个问题,我会更新这个“答案”。