编辑: 注意:此问题已在 AS3 中修复,它现在使 jar 依赖项成为 transient 。是的。
我有一个使用 Gradle 1.1 的 Android Studio (2.2) 项目,它有一个主应用程序和几个库模块(android 和纯 java 库)。
一些 java 库模块依赖于 .jar 文件:
- 应用程序
- libs(目录,App dependencies中列出的所有文件)
- f1.jar,
- f2.jar...
- 模块 1(java 库项目/模块)
- libs(目录,模块 1 依赖项中列出的所有文件)
- L1f1.jar,
- L1f2.jar...
- libs(目录,模块 1 依赖项中列出的所有文件)
- libs(目录,App dependencies中列出的所有文件)
当我在模拟器中运行应用程序时,它找不到 L1Fn.jar 中的类。
我在别处读到,我可以使用相对路径在主要 App 依赖项中引用这些库。
有没有更好的方法?我能否让 Gradle 在 App 项目运行时识别这些文件的需求?
根据要求
编辑:
主要build.gradle
:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "24.0.1"
defaultConfig {
applicationId "my.app.id"
minSdkVersion 14
targetSdkVersion 19
multiDexEnabled true
jackOptions
{
enabled true
}
}
dexOptions
{
javaMaxHeapSize "4g"
}
buildTypes {
release
{
minifyEnabled true
proguardFiles 'proguard-project.txt'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
compile project(':theLibraryProject')
}
库 build.gradle:
apply plugin: 'java'
dependencies {
compile files('libs/jar-file-1.jar')
compile files('libs/jar-file-2.jar')
}
最佳答案
你应该使用:
apply plugin: 'android-library'
在你的库构建文件中
关于android - 在 Java 库模块中处理传递性 .jar 依赖项的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38517079/