【发布时间】:2018-03-02 11:27:45
【问题描述】:
我创建了一个库,而这个库使用了另一个外部库(只有一个)。
这是我的库的配置:
apply plugin: 'com.android.library'
android {
compileSdkVersion 26
defaultConfig {
minSdkVersion 15
targetSdkVersion 26
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
compile ('com.github.Paroca72:sc-gauges:3.0.1') {
transitive=true
}
}
使用 gradle -> :library -> assembleRelease 将库导出为 .aar。 现在使用“import .JAR/.AAR package”将该库包含在一个新项目中,并将其包含在“module dependency”中..
在编码阶段我没有错误,但是当我尝试启动应用程序时,我遇到了这种异常:
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.sccomponents.codes.gauges.ScArcGauge" on path: DexPathList[[zip file "/data/app/com.test.test-oKxgn-etFOgh1n6SqKQU5Q==/base.apk", zip file "/data/app/com.test.test-oKxgn-etFOgh1n6SqKQU5Q==/split_lib_dependencies_apk.apk", zip file "/data/app/com.test.test-oKxgn-etFOgh1n6SqKQU5Q==/split_lib_slice_0_apk.apk", zip file "/data/app/com.test.test-oKxgn-etFOgh1n6SqKQU5Q==/split_lib_slice_1_apk.apk", zip file "/data/app/com.test.test-oKxgn-etFOgh1n6SqKQU5Q==/split_lib_slice_2_apk.apk", zip file "/data/app/com.test.test-oKxgn-etFOgh1n6SqKQU5Q==/split_lib_slice_3_apk.apk", zip file "/data/app/com.test.test-oKxgn-etFOgh1n6SqKQU5Q==/split_lib_slice_4_apk.apk", zip file "/data/app/com.test.test-oKxgn-etFOgh1n6SqKQU5Q==/split_lib_slice_5_apk.apk", zip file "/data/app/com.test.test-oKxgn-etFOgh1n6SqKQU5Q==/split_lib_slice_6_apk.apk", zip file "/data/app/com.test.test-oKxgn-etFOgh1n6SqKQU5Q==/split_lib_slice_7_apk.apk", zip file "/data/app/com.test.test-oKxgn-etFOgh1n6SqKQU5Q==/split_lib_slice_8_apk.apk", zip file "/data/app/com.test.test-oKxgn-etFOgh1n6SqKQU5Q==/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.test.test-oKxgn-etFOgh1n6SqKQU5Q==/lib/x86, /system/lib, /vendor/lib]]
引用了我自己的库中包含的外部库“com.sccomponents.codes.gauges.ScArcGauge”..
怎么了?
我正在使用 Android Studio(最新版本)
【问题讨论】:
-
你能告诉我app模块的build.gradle中生成的代码吗? Android Studio 添加的库的导入行
-
启用multidex后尝试。
-
这是库的 gradle:configurations.maybeCreate("default") artifacts.add("default", file('library-release.aar')) 这包含在项目中: 实施项目(':gr001')
-
我已经尝试在任何地方启用 multidex 但没有成功.. 谢谢
标签: android shared-libraries aar