This is the same question I am to new to comment on it to see if he found a answer
当您运行“ cordova build android ”时,Cordova正在生成一个新的settings.gradle文件。我尝试使用脚本在_prepare before_compile之后使用钩子修改此文件。但无论我做什么,这个文件都会重新创建。有人解决了这个问题吗?是否有另一种方法将模块添加到android项目?除了使用settings.gradle
我对Java或Gradle几乎一无所知,所以任何现场都会很棒。
答案 0 :(得分:2)
您可以使用build-extras.gradle
文件包含或排除相关性。可以使用build.gradle
挂钩操作将此文件与before_build
文件一起添加到同一位置。
请您查看Official Cordova documentation以获取更多相关信息。另请查看此example,其中解释了重复模块的排除。同样可以扩展到模块包含。
更新:我确实理解问题是关于settings.gradle而我正在谈论build.gradle。这是因为据我所知,没有办法直接操作settings.gradle,除了通过build.gradle,如示例链接中所解释的那样。另外,我建议你看看这个gradle thread,它解释了通过build.gradle文件添加依赖。
但如果您仍在寻找操作settings.gradle的解决方案,则必须按照post中的建议在android平台中编辑build.js文件,这更像是一个快速修复或调整。
我希望它有所帮助。
答案 1 :(得分:1)
今天我遇到了同样的问题,花了几个小时,我发现我们可以通过更改 project.properties
来做到这一点。以下是步骤:
第1步。在根目录中编辑/制作project.properties
,并将模块作为库引用添加到CordovaLib
之后:
target=android-25
android.library.reference.1=CordovaLib
android.library.reference.2=libraryModule1
android.library.reference.3=libraryModule2
第2步。。运行cordova build android
。这将在您的setting.gradle
文件中创建一个条目。
//GENERATED FILE - DO NOT EDIT
include ":"
include ":CordovaLib"
include ":libraryModule1"
include ":libraryModule2"
您的应用build.gradle
也将如下所示:
dependencies {
----
// SUB-PROJECT DEPENDENCIES START
debugCompile(project(path: "CordovaLib", configuration: "debug"))
releaseCompile(project(path: "CordovaLib", configuration: "release"))
debugCompile(project(path: "libraryModule1", configuration: "debug"))
releaseCompile(project(path: "libraryModule1", configuration: "release"))
debugCompile(project(path: "libraryModule2", configuration: "debug"))
releaseCompile(project(path: "libraryModule2", configuration: "release"))
----
// SUB-PROJECT DEPENDENCIES END
}