我已经创建了一个我希望开源的外部库。我将它作为模块导入而没有问题。
添加依赖项是我想要做的。我不想将其移至:app。
当我添加依赖项时,问题就会消失。导入引用正确的文件。在构建我得到这个问题:
我认为解决方案必须是引用外部库的build.gradle文件中的java文件,但我找不到任何好的示例,甚至证明这可以解决问题。
library是模块名称。
提前致谢。
编辑: 应用程序的build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "23.0.0 rc3"
defaultConfig {
applicationId "com.weaverprojects.toundertest1"
minSdkVersion 21
targetSdkVersion 22
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.google.android.gms:play-services-gcm:7.5.0'
}
build.gradle for library
apply plugin: 'com.android.library'
android {
compileSdkVersion 22
buildToolsVersion "23.0.0 rc3"
defaultConfig {
minSdkVersion 19
targetSdkVersion 22
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.2.1'
compile 'com.google.android.gms:play-services-gcm:7.5.0'
}
Settings.gradle
include ':app', ':library'
答案 0 :(得分:1)
假设您的库存在于其自己的项目中,并且它相对于主项目的顶级文件夹的路径是。 ./mylibs/library/我认为你的settings.gradle应该改变如下:
project(':library').projectDir = new File('../mylibs/library/');
以下需要进入 main /app/build.gradle文件的依赖项部分(我认为这是您问题中的第一个代码转储)。
compile project(':library')
顺便说一下,请考虑将库重命名为其他东西(这不是问题的根源,但是几个月后再看一下这个名字会让人感到困惑)