Я видел вопросы (Android Studio объединить 2.aar в один и другие), опубликованные различными разработчиками, но я не видел окончательного ответа, который позволяет мне создать AAR, который включает в себя 1 или более AAR или JAR (я могу делать с JAR, так как мне не нужно делиться никакими ресурсами, только классы). Вот проект app.gradle для моего библиотечного проекта:
apply plugin: 'com.android.library'
android {
compileSdkVersion 19
buildToolsVersion "19.1.0"
defaultConfig {
minSdkVersion 16
targetSdkVersion 21
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile 'com.google.code.gson:gson:2.1'
compile ('libs/eventbus.jar')
compile project(':core-release')
compile project(':midware-release')
}
Опять же, это приложение представляет собой проект библиотеки, который требует двух других проектов библиотеки ( "core-release", "middleware-release" ), и пока я смог создать один файл AAR, который я могу использовать в своем приложении, приложение не смог найти классы зависимых библиотечных проектов, поэтому мне пришлось добавить AAR в два проекта библиотеки в мое приложение.
Вот проект приложения app.gradle(без добавления JAR вручную), который не может найти классы зависимых проектов:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com.app.sample"
minSdkVersion 19
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'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile files('libs/eventbus.jar')
compile project(':sdk3-debug')
}
Я не думаю, что файл AAR проекта библиотеки вытягивает зависимые проекты (AAR или JAR), и поэтому приложение не может найти классы.
Я читал о транзитивной зависимости, но мне не удалось найти пример реализации, который может помочь в моей ситуации.