android - 库模块内的 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 {
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
要么,请参阅此库的问题文件。如果它来自图书馆的问题,则还定义此错误详细信息
推荐阅读
- java - 从 JSP 页面向数据库添加数据不起作用,但从 java 类完成时起作用
- netlogo - 计算和报告代理移动半径周围一定半径内的补丁土地租金
- postgresql - 使用 PL/pgsql 动态查询列出当前服务器中所有数据库中的所有外部服务器
- c# - 尝试将json字符串解析为所述对象时,为什么我的对象为空
- firebase - 我正在从 firebase cloudstore 获取数据。我想将数据传递给 static const String = "here';
- javascript - 计算字符串中的单词 - camelCase
- php - 在 WooCommerce 订单管理列表上显示带有自定义用户元数据的自定义列
- .net-core - System.Reactive 在 Scheduler.Default 和 TaskPoolScheduler.Default 之间进行选择
- mongodb - MongoDB - 如何提高创建索引的性能?
- c# - 如何使用停止位置的逻辑迭代树结构