cordova android:如何指定自定义MainActivity.java

时间:2017-09-29 14:51:03

标签: cordova

为android cordova构建安装自定义MainActivity.java类的正确/最佳方法是什么?

我有多个客户端项目都共享相同的自定义基础Activity逻辑,因此有一个包含所有逻辑的common.MyActivity类,我需要MainActivity来导入和子类化。

这是我的MainActivity类

A

理想情况下,我希望能够通过插件(安装通用逻辑的相同自定义插件)来实现这一点,但问题是,appid对于每个项目都是不同的,并且插件需要知道为了将类安装在正确的文件夹中。

我尝试将appid作为变量传递给插件,但标签没有扩展变量,所以不起作用。

如果我不能在插件中执行此操作,那么也许这可以通过某种方式在config.xml中实现?

1 个答案:

答案 0 :(得分:0)

使用after_plugin_install挂钩将自定义MainActivity.java复制到位(如果它尚未存在)。

config.xml添加

<hook src="scripts/hooks/updateMainActivity" for="after_plugin_install"/>

scripts/hooks/updateMainActivity基本上做

cp MainActivity.java platforms/android/com/src/yourcompany/mobile/*/MainActivity.java

它不理想,但它有效。

它并不理想,因为无论平台如何,每次安装任何插件时都会运行挂钩,而不是仅在安装自定义插件时运行。它也不理想,因为真的应该是插件才能实现这一点,但似乎没有任何方法可以在plugin.xml中实现这一点。

如果我找到更好的方法,我会更新我的答案。