如何将安卓项目导入库,而不是将其编译为apk (安卓工作室 1.0)

我试图导入一个项目(projLib)作为另一个项目(projAPK)的依赖项。

projAPK gradle 有这个:

dependencies {
    compile project(':libs:NewsAPI')
    compile project(':projLib')
}

但是当我同步gradle时,它会给出这个错误:

错误:依赖项 Android_2015:projLib:未指定在项目 projAPK 上解析为不支持作为编译依赖项的 APK 存档。文件: /Users/myname/Documents/Development/Android_2015/libs/projAPK/build/outputs/apk/projLib-release-unsigned.apk

所以我想有两种解决方案:

  1. 以某种方式让 gradle 认为 projLib 是一个不应该编译为 apk 的库
  2. 以某种方式使 gradle 不显式编译 projLib

问题是,我找不到如何做到这一点。如果你们能帮:),那就太好了


答案 1

projLib 的 build.gradle 文件中,您将看到如下语句:

apply plugin: 'com.android.application'

它告诉Gradle将其构建为应用程序,从而生成APK。如果将其更改为:

apply plugin: 'com.android.library'

它将构建为一个库,生成一个AAR,它应该工作。

如果您还需要projLib来生成单独的APK,那么您必须进行一些重构,以将所需的通用代码提取到第三个库模块中,并使两个APK都依赖于它。

不允许库设置 ,因此,如果您看到与此相关的错误消息,请将其从库的生成脚本中删除。applicationId


答案 2

在模块 gradle 文件中-

替换为apply plugin: 'com.android.application'apply plugin: 'com.android.library'

然后删除 applicationId "xxx.xxx.xxxx"

清理和构建


推荐