1
我有一个包含一些jar文件(lib.jar)的“java模块”。它们使用fileTree方法包含在我的模块build.gradle文件中。Android Studio:运行时未找到Java模块中包含的Jar文件
compile fileTree(dir: 'libs', include: ['*.jar'])
当我包括主要的应用程序作为一个依赖通过“Java模块”,我总是ClassDefNotFoundException当模块尝试将lib.jar中访问类。
以下是项目层次:
|--mylibrary (java module)
|
--libs/
|
--lib.jar
--build.gradle
|--app
|
--src/
--libs/
--build.gradle
这个问题只有在模块是“Java的模块”发生。我已经尝试过使用“android库模块”作为依赖项,并且罐子包含在内。我错过了什么?
的Java模块的build.gradle:
apply plugin: 'java'
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
应用的build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com.macolighting.mncp.myapplication"
minSdkVersion 21
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':mylibrary')
}
只是改变'应用插件:“在你的Gradle模块向com.android.library''添加 –
编译文件(”库/ yourJar.jar')在您的gradle这个依赖 –
对不起,我应该更明确。我希望“Java模块”严格地是java代码,并且具有零个android依赖关系。如果我将插件从'java'更改为'com.android.library',我需要一个Android清单等。 – Tez