将依赖项添加到模块 - 外部库错误

Add Dependency to module - External Library Error

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

我必须在导入后解决这个问题:

添加依赖是我想要做的。我不想把它移到 :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 图书馆

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'

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

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

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

compile project(':library')

顺便说一句,请考虑将 :library 重命名为其他名称(这不是问题的根源,但几个月后查看名称时可能会造成混淆)