【发布时间】:2017-10-03 23:33:22
【问题描述】:
我想将原生(集成测试)模块添加到 Cordova Android 项目。
对于完全原生的项目,您只需添加一个新模块,提交并完成它。但对于 Cordova,我当然不想弄乱生成的 Android 项目,因为其中一些更改可能会在构建等过程中丢失。
通过将模块文件夹放在 Cordova Android 文件夹之外并将其添加到 settings.gradle,我得到了一个手动工作模块的概念概念:
include ':module-androidTest'
project(':module-androidTest').projectDir = new File("../module-tests")
当然,该文件的第 1 行已经说明了
// GENERATED FILE - DO NOT EDIT
有没有其他方法可以向 Cordova Android 项目添加额外的模块?
我研究或考虑过的一些方法:
我可以用
build-extras.gradle以某种方式做到这一点吗? (我不这么认为,因为settings.gradle在 build-extras 和build.gradle之前有几个步骤,对吧?)较早的 StackOverflow 问题建议手动编辑
GradleBuilder.js文件:https://stackoverflow.com/a/35504783/252627 但当然,每次我完全生成一个新的 Cordova 项目时,这都会丢失。这不是一个好主意,对吗?我可以通过 Cordova 插件以某种方式解决这个问题吗?我知道这些可以加载框架等 - 也许也是一个模块?
【问题讨论】:
-
我认为您正在寻找的可以使用自定义插件来完成,该插件可以使用这样的框架标签扩展基本 gradle 配置:
<framework src="relative/path/to/your/gradlefile/*.gradle" custom="true" type="gradleReference" />。 -
感谢@David 的想法,但
gradleReference“仅”允许您在生成的// PLUGIN GRADLE EXTENSIONS START // PLUGIN GRADLE EXTENSIONS END行之间的build.gradle文件中添加其他内容build.gradle(这太棒了,但对我没有帮助,对吗?) -
嗯,我不知道它是否对您的特定用例有帮助,这就是我将其添加为评论的原因,但这是您通常扩展cordova android项目的方式。
-
请将其作为答案发布,如果结果有效,我可能会接受它。
标签: android cordova android-gradle-plugin android-module cordova-android