我看到了一些问题(Android Studio 将 2 个 .aar 合二为一 https://stackoverflow.com/questions/30084314/android-studio-combine-2-aar-into-one和其他)由不同的开发人员发布,但我还没有看到明确的回复,使我能够创建一个包含 1 个或多个 AAR 或 JAR 的 AAR(我可以使用 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”、“midware-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),因此应用程序无法找到这些类。
我读到了有关传递依赖的内容,但我无法找到可能对我的情况有所帮助的示例实现。