【问题标题】:Project made of several projects项目由几个项目组成
【发布时间】:2017-02-15 09:55:06
【问题描述】:

谁能启发我,我在这方面花了很多时间,我开始怀疑这是否真的可行,如果可以,如何实现。

我有两个 Android 应用程序项目带有嵌套库,我希望有一个可以引用这两个库的父项目,例如:

父项目

-app/src 

-ProjectA

 -app/src
 -lib1
 -lib2

-ProjectB

 -app/src
 -lib3
 -lib4

所以我可以在 ParentProject 中使用项目 A 和 B 中的类,同时将它们分开。

我正在使用 Android Studio / Gradle

谢谢

更新

由于我尝试使用的应用程序,我遇到了麻烦,我还没有弄清楚为什么。但是,如果您执行以下步骤,您应该可以使用当前项目中的任何其他项目:

在您的子项目的 build.gradle 中:

  • 将应用插件:“com.android.application”更改为应用插件:“com.android.library”

  • 去掉applicationId标签

  • 将子项目添加到您的父项目构建路径

  • 在你的 settings.gradle 中添加子项目路径
包括':子项目'
project(':subproject').projectDir = new File('../subproject')
  • 通过将以下内容添加到项目的 build.gradle 来为子项目添加依赖项:
编译项目(':some-library')

感谢@yosriz 提供的帮助。

干杯,

汤姆

【问题讨论】:

    标签: android gradle merge architecture


    【解决方案1】:

    在您的 settings.gradle 中定义库项目和您尝试包含在主项目中的路径(最好是相对路径)。

    include ':some-library'
    project(':some-library').projectDir = new File('..\\some-library')
    

    接下来,在应用的 build.gradle 中包含对导入库的依赖:

    compile project(':some-library')
    

    【讨论】:

    • 嗨 yosriz,我正在解决一个又一个问题,我认为这是因为嵌套库,请参阅编辑
    • @Tom,正如我在回答中所解释的那样,您可以使用相对/绝对路径引用库,因此您可以使用其路径链接到来自不同项目的库。更推荐的方法是从项目中提取共享库,而不是在使用它的项目中引用它。
    【解决方案2】:
    • 在您的 ParentProject 根目录中添加 ProjectA 和 ProjectB 然后—— 通过

      更新 settings.gradle

      包括':ProjectA'、':ProjectB'

      包括':ParentProject'

      然后在您的 ParentProject build.gradle 文件中添加这些行
      编译项目(':ProjectA') 编译项目(':ProjectB')

      最后按下同步按钮。

    【讨论】:

    • 您好 AndroidAnDandroid,与其他回复相同,我正在解决一个又一个问题,我认为这是因为嵌套库,请参阅编辑
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-28
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 2023-01-25
    相关资源
    最近更新 更多