gpt4 book ai didi

android - 从另一个项目编译模块

转载 作者:行者123 更新时间:2023-12-03 03:32:21 27 4
gpt4 key购买 nike

我的主要项目有一些模块::app , :anotherModule , ... .

然后我在 github 上 fork 了一个库,并将其推送到另一个项目中。它有两个模块,一个库:library和一个示例应用程序 :sample .

我想做的是整合:library在编译时在我的项目中,即没有复制文件(正如有人在这里建议的那样)。

我做了什么

我编辑了我的项目 settings.gradle 并添加了:

include ':library'
project(':library').projectDir = new File(settingsDir,'../ForkedLibrary/library')

引用 fork 库的文件夹。同时我添加了 compile project(':library')到我的应用程序模块。

怎么了

编译失败:

Could not find property 'ANDROID_BUILD_SDK_VERSION' on project ':library'



我知道为什么会这样: ForkedLibrary/library/build.gradle正在引用 ForkedLibrary/gradle.properties 中的一些项目值,类似于:
ANDROID_BUILD_MIN_SDK_VERSION=14
ANDROID_BUILD_TARGET_SDK_VERSION=23
ANDROID_BUILD_SDK_VERSION=23
ANDROID_BUILD_TOOLS_VERSION=23.0.0
... + LOTS of other stuff, POM_ info, version names, ...

我可以通过将这些行复制粘贴到我的项目中来解决此问题 gradle.properties , 但是拥有 :library 是没有意义的- 我自己的 gradle 属性文件中的特定内容。 ForkedLibrary 属性文件包含与我的项目无关的内容,例如原始开发人员信息和其他 POM_字段。

所以

如何解决这个问题(在我自己的 ForkedLibrary 文件中不包含 gradle.properties 属性)?

最佳答案

它应该是一个评论,但它太长了。如果对你没有帮助,我会删除它。ForkedLibrary/library/build.gradle正如您在问题中描述的那样,使用 ForkedLibrary/gradle.properties .
它仅适用于 ForkedLibrary 特定项目,因为其他项目使用自己的 gradle.properties .
我猜 library/build.gradle文件有类似的东西:

project.VERSION_NAME
您可以引用 official doc :

The configuration is applied in following order (if an option is configured in multiple locations the last one wins):

  • from gradle.properties in project build dir.
  • from gradle.properties in gradle user home.
  • from system properties, e.g. when -Dsome.property is set on the command line.

在这种情况下 您必须复制属性 在您的 build.properties有一个 替代 在这种情况下我从未尝试过,像这样:
processResources {
expand(project.properties)
}
正如您在 official doc 中所读到的那样:

Copies resources from their source to their target directory, potentially processing them. Makes sure no stale resources remain in the target directory.


expand method是:

Expands property references in each file as it is copied.

关于android - 从另一个项目编译模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33458173/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com