我试图导入一个项目(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
所以我想有两种解决方案:
- 以某种方式让 gradle 认为 projLib 是一个不应编译为 apk 的库
- 以某种方式使 gradle 不显式编译 projLib
问题是,我找不到如何做这些。如果你们能提供帮助,那就太棒了:)
原文由 Vic Zhou 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 projLib 的 build.gradle 文件中,您会看到如下语句:
它告诉 Gradle 将其构建为一个应用程序,生成一个 APK。如果你把它改成这样:
它将构建为一个库,生成一个 AAR,它应该可以工作。
如果您还需要 projLib 来生成单独的 APK,那么您必须进行一些重构,将您需要的通用代码拉到第三个库模块中,并让两个 APK 都依赖于它。
库不允许设置
applicationId
,因此如果您看到与此相关的错误消息,请将其从库的构建脚本中删除。