如何将 android 项目导入为库而不将其编译为 apk (Android studio 1.0)

新手上路,请多包涵

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

projAPK gradle 有这个:

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

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

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

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

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

问题是,我找不到如何做这些。如果你们能提供帮助,那就太棒了:)

原文由 Vic Zhou 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 604
2 个回答

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

 apply plugin: 'com.android.application'

它告诉 Gradle 将其构建为一个应用程序,生成一个 APK。如果你把它改成这样:

 apply plugin: 'com.android.library'

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

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

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

原文由 Scott Barta 发布,翻译遵循 CC BY-SA 3.0 许可协议

在模块 gradle 文件中-

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

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

清洁和构建

原文由 san88 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题