向模块添加依赖关系 - 外部库错误

时间:2015-09-21 01:51:22

标签: android build.gradle

我已经创建了一个我希望开源的外部库。我将它作为模块导入而没有问题。

我必须在导入后解决此问题: enter image description here

添加依赖项是我想要做的。我不想将其移至:app。

当我添加依赖项时,问题就会消失。导入引用正确的文件。在构建我得到这个问题: enter image description here

我认为解决方案必须是引用外部库的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'

1 个答案:

答案 0 :(得分:1)

假设您的存在于其自己的项目中,并且它相对于项目的顶级文件夹的路径是。 ./mylibs/library/我认为你的settings.gradle应该改变如下:

project(':library').projectDir = new File('../mylibs/library/');

以下需要进入 main /app/build.gradle文件的依赖项部分(我认为这是您问题中的第一个代码转储)。

compile project(':library')
顺便说一下,请考虑将库重命名为其他东西(这不是问题的根源,但是几个月后再看一下这个名字会让人感到困惑)