库模块内部的Android AAR文件-NoClassDefFoundError

时间:2018-12-03 10:32:25

标签: android

我有一个外部库(constants.aar)文件。我已将此.aar文件保存到我的Android库模块项目的(sdk-module)/lib文件夹中。 sdk-module具有使用constants.aar中的方法的类。

编译sdk-module会生成sdk-module.aar文件。

在我的应用程序中,我包括此sdk-module.aar文件。当我尝试使用sdk-module的某些类文件时,我得到了NoClassDefFoundError

  

java.lang.NoClassDefFoundError:无法解析以下内容:“来自constant.aar的类文件”;   原因:java.lang.ClassNotFoundException:在路径:

上找不到类“ xyz”

我已经解压缩了sdk-module.aar文件,并且可以看到constants.aar文件在其/lib文件夹中。

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

android {
    defaultConfig {
        ....
        multiDexEnabled true // Add this line in your build.gradle file
    }

dependencies {
    implementation 'com.android.support:multidex:1.0.3'
}

扩展:MultiDexApplication类在您的ApplicationClass.java中

public class BusinessCardApplication extends MultiDexApplication { ... }

OR

MultiDex.install(this); //add this line

请参阅该库的发行文件。如果是图书馆的问题,那么还会定义此错误详细信息