首页 > 解决方案 > 库模块内的 Android aar 文件 - NoClassDefFoundError

问题描述

我有一个外部库(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文件夹中可用。

如何解决这个问题?

标签: android

解决方案


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

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

扩展:在 ApplicationClass.java 中的 MultiDexApplication 类

public class BusinessCardApplication extends MultiDexApplication { ... }

或者

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

要么,请参阅此库的问题文件。如果它来自图书馆的问题,则还定义此错误详细信息


推荐阅读