How to add native module to Cordova Android project?

假如想象 提交于 2019-12-14 02:06:46

问题


I want to add a native (integration test) module to a Cordova Android project.

For fully native projects, you just add a new module, commit and be done with it. But for Cordova I of course don't really want to mess with the generated Android project as some of these changes might be lost on build etc.

I got a Poof of Concept of the module working manually by having the module folder outside of the Cordova Android folder and adding this to settings.gradle:

include ':module-androidTest'
project(':module-androidTest').projectDir = new File("../module-tests")

But of course line 1 of that file already says

// GENERATED FILE - DO NOT EDIT

Is there any other way to add additional modules to a Cordova Android project?


Some approaches I researched or thought about:

  • Can I somehow do this with build-extras.gradle? (I don't think so as settings.gradle is several steps before build-extras and build.gradle, right?)

  • Older StackOverflow questions suggest manually editing a GradleBuilder.js file: https://stackoverflow.com/a/35504783/252627 But of course this would get lost each time I completely generate a new Cordova project. Not a good idea, correct?

  • Can I maybe work around this somehow via a Cordova plugin? I know these can load frameworks etc - maybe also a module somehow?


回答1:


I think what you are looking for can be done using a custom plugin which can extend the base gradle config using a framework tag like this:

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

This is how a cordova-android project is usually extended.



来源:https://stackoverflow.com/questions/46554949/how-to-add-native-module-to-cordova-android-project

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!