为android cordova构建安装自定义MainActivity.java类的正确/最佳方法是什么?
我有多个客户端项目都共享相同的自定义基础Activity逻辑,因此有一个包含所有逻辑的common.MyActivity类,我需要MainActivity来导入和子类化。
这是我的MainActivity类
A
理想情况下,我希望能够通过插件(安装通用逻辑的相同自定义插件)来实现这一点,但问题是,appid对于每个项目都是不同的,并且插件需要知道为了将类安装在正确的文件夹中。
我尝试将appid作为变量传递给插件,但标签没有扩展变量,所以不起作用。
如果我不能在插件中执行此操作,那么也许这可以通过某种方式在config.xml中实现?
答案 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
中实现这一点。
如果我找到更好的方法,我会更新我的答案。