我有一个具有Studio自己的Gradle依赖项的Android Studio库项目:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.squareup.retrofit:retrofit:2.0.0-beta2'
compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
}
问题在于这两个外部库(retrofit和converter-gson)。 该库项目的结果是.aar文件。 但是,当我在单独的项目中使用此.aar文件时,出现未解决的类错误:
java.lang.NoClassDefFoundError: Failed resolution of: Lretrofit/Retrofit$Builder;
有没有办法将我的图书馆项目中的gradle依赖项包含到最终的.aar文件中?
我尝试了这个答案,但对我没有用。
编辑:我从图书馆项目中的整个build.gradle文件。
apply plugin: 'com.android.library'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
minSdkVersion 15
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.squareup.retrofit:retrofit:2.0.0-beta2'
compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
}
编辑2:这是我的应用程序项目中build.gradle脚本的一部分,该脚本使用以前作为.aar文件生成的库。
3个版本,没有一个起作用(没有一个从库自动下载依赖项)
(请注意,我将此.aar文件添加到我的应用程序项目的lib文件夹中,并将flatDir指令添加到其gradle.build中)。 我没有在执行File->New->NewModule->ImportExistingJAR/AAR
repositories {
flatDir {
dirs 'libs'
}
}
1。
compile(name:'mylibrary-release', ext:'aar')
2。
compile(name:'mylibrary-release', ext:'aar') {
transitive = true
}
3。
compile(':mylibrary-release@aar') {
transitive = true
}