【问题标题】:How to add native module to Cordova Android project?如何将本机模块添加到 Cordova Android 项目?
【发布时间】: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


【解决方案1】:

我认为您正在寻找的可以使用自定义插件来完成,该插件可以使用这样的框架标签扩展基本 gradle 配置:

<framework src="relative/path/to/your/gradlefile/*.gradle" custom="true" type="gradleReference" />

这就是cordova-android 项目通常的扩展方式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-26
    • 2016-08-18
    • 2017-09-26
    • 1970-01-01
    • 2016-02-14
    • 2022-07-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多