我已将Android库创建为Android Studio模块。添加为对我的根模块的依赖。在编码时,我可以从库包中导入任何类,但是在尝试运行应用程序时,出现了package some.mylibrary.project does not exist错误。

build.gradle 根模块

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.+'
    }
}
apply plugin: 'com.android.application'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile 'com.android.support:appcompat-v7:20.+'
    compile 'com.google.android.gms:play-services:5.+'
    compile project(':libraries:mylibrary')
}

android {
    compileSdkVersion 17
    buildToolsVersion "20.0.0"

    lintOptions {
        disable 'InvalidPackage'
        checkReleaseBuilds false
        abortOnError false
    }

    ***
}

build.gradle 库模块
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.+'
    }
}

apply plugin: 'com.android.application'
apply plugin: 'idea'

android {
    compileSdkVersion 17
    buildToolsVersion "20.0.0"

     *****
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

settings.gradle
include ':libraries:mylibrary'

附言我不得不提到该项目是从Eclipse IDE导出的,因此该项目的结构与默认结构不同。

最佳答案

对于Android Studio 2.2.2

是的,在库模块中,它不能在模块定义中使用Apply插件:com.android.application语句,是的,请改为使用Apply插件:com.android.library。 (仍在lib模块中)

但是然后您必须执行以下操作:

  • 在两个模块的Gradle文件中公开相同的SDK版本。
  • 右键单击您的项目“app”模块文件夹,然后单击->打开模块设置
  • 单击“依赖项”选项卡
  • 单击+号以添加新的依赖项,然后选择“模块依赖项”。
  • 查找所需的库并添加它。

  • 同样,在命名您的lib模块时,请避免使用大写字母。

    07-24 09:46
    查看更多