Изменить: Примечание: эта проблема исправлена в AS3, что теперь делает зависимости jar временными. Ура.
У меня есть проект Android Studio (2.2) с использованием Gradle 1.1, в котором есть основное приложение и несколько библиотечных модулей (как для Android, так и для чистых java-библиотек).
Некоторые модули библиотеки Java зависят от файлов .jar:
- App
- libs (directory, all files listed in App dependencies)
- f1.jar,
- f2.jar...
- Module 1 (java library project/module)
- libs (directory, all files listed in Module 1 dependencies)
- L1f1.jar,
- L1f2.jar...
- libs (directory, all files listed in Module 1 dependencies)
- libs (directory, all files listed in App dependencies)
Когда я запускаю приложение в эмуляторе, оно не может найти классы в L1Fn.jar.
Я читал в другом месте, что я могу ссылаться на эти библиотеки в основных зависимостях приложения, используя относительные пути.
Есть ли способ лучше? Могу ли я заставить Gradle распознавать необходимость этих файлов во время выполнения в проекте приложения?
Согласно запросу
Редактировать:
Главная 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')
}