我创建了一个包含库项目的应用程序并运行良好。但是,当我将.jar添加到我的库项目应用程序时,找不到这个.jar并且构建进程崩溃。
这些是我的.gradle文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "org.gradiant.apps"
minSdkVersion 14
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.1.1'
compile project(':a')
}
apply plugin: 'com.android.library'
android {
compileSdkVersion 21
buildToolsVersion "22.0.1"
defaultConfig {
minSdkVersion 14
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.1.1'
compile(name: 'b', ext: 'jar')
}
repositories {
flatDir {
dirs 'libs'
}
}
其中a是我的图书馆项目,b是我需要的新.jar。在logcat中出现以下消息:
Error:A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugCompile'.
> Could not find :b:.
Searched in the following locations:
https://jcenter.bintray.com//b//b-.pom
https://jcenter.bintray.com//b//b-.jar
Required by:
NewApps:app:unspecified > NewApps:a:unspecified
我该如何解决?
答案 0 :(得分:0)
首先,在您的库项目中,确保它是以Android apks可以支持的二进制格式编译的。例如,如果库是用java 1.8编译的,而不是java 1.7(Android似乎需要的东西),就会出现问题(目前对我而言)。
为此,在您的库项目build.gradle
文件中,您应该添加
allprojects {
sourceCompatibility = 1.7
targetCompatibility = 1.7
}
现在,在Android项目中,必须将编译依赖项添加到app/build.gradle
(而不是项目根build.gradle
),如下所示:
dependencies {
. . .
compile project (":aProject")
. . .
}
最后,您应该添加到根项目settings.gradle
include ":aProject"
project(":aProject").projectDir = new File (settingsDir, "../../someFolderPath/aProject");
希望它有所帮助。