繁体   English   中英

Gradle Android项目依赖项不起作用

[英]Gradle Android project dependency not working

我正在尝试从maven迁移到Gradle以进行Android项目,并且面临以下问题:我有三个项目,即

root
- projlib
   build.gradle
- projA
   build.gradle
- projB
   build.gradle
build.gradle
settings.gradle

基本上,我要实现的是projB依赖于projA和projlib。 projlib是一个lib文件夹,可编译并生成一个lib(jar)文件。 projA是一个Android应用程序,而projB是另一个需要在projA中引用代码的Android应用程序。 现在我在projB build.gradle文件中添加的是

dependencies {
   compile project(':projlib')
   compile project(':projA')
}

所以说如果projlib中有FooProjLib类,而projA中有FooProjA类

然后在projB中我可以做

FooProjLib foo = new FooProjLib

哪个很好

但是当我这样做

FooProjA foo = new FooProjA 

Gradle给我的软件包projA不存在,我观察到的是这两个依赖关系都已解决,但是只有lib可以被引用,而apk不能。

有谁知道如何解决这个问题?

您不能完全按照自己的意愿做。 projA无法构建应用程序(即APK),并且还依赖于它。 如果projA是Android库,则projB只能依赖projA,这意味着在其构建文件中您具有以下声明:

apply plugin: 'android-library'

代替

apply plugin: 'android'

当然,这意味着projA不会构建APK,而是会构建AAR。

如果projA也需要是APK,则必须重新组织事情,以便projB也需要的projA中的通用代码移到共享库中。 如果两个项目都相似,也许您可​​能只需要一个模块,并使用项目风格来区分它们。 如果没有很多信息,很难说这是否是一个好方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM