如何添加到cordova中的settings.gradle

时间:2016-05-31 15:13:38

标签: java android cordova gradle hybrid-mobile-app

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几乎一无所知,所以任何现场都会很棒。

2 个答案:

答案 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
}