Я сделал плагин cordova для приложений Android, но в отличие от других плагинов, этот использует только приложение (App.java), а не класс CordovaPlugin.
Когда я впервые пытаюсь установить его с помощью добавления плагина cordova, он работает нормально. Когда я пытаюсь удалить его с помощью плагина cordova rm, он не удаляет папку из node_modules и сохраняет имя зависимости плагина в package.json. Кроме того, он удаляет некоторый код из манифеста, который принадлежит другому плагину (я видел, что это продолжение файла редактирования в plugin.xml, мне нужно добавить имя приложения в манифест), и если я пытаюсь установите его снова, я получу сообщение об ошибке (потому что он все еще содержит зависимость node_modules), если я не обновлю версию плагина.
Вот мой файл plugin.xml:
<?xml version="1.0" encoding="UTF-8"?>
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android" id="com.test.plugin.applicationTest" version="1.0.0" platform = "Android">
<name>codova-app-plugin</name>
<description>Test</description>
<author>test</author>
<license>Apache 2.0</license>
<keywords>cordova, application</keywords>
<platform name="android">
<config-file parent="/*" target="res/xml/config.xml">
<feature name="applicationTest">
<param name="android-package" value="com.test.plugin.applicationTest" />
</feature>
</config-file>
<source-file src="src/android/App.java" target-dir="src/com/test/plugin/applicationTest" />
<config-file target="AndroidManifest.xml" parent="/*">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
</config-file>
<edit-config file="AndroidManifest.xml" target="/manifest/application" mode="merge">
<application android:name="com.test.plugin.applicationTest.App"/>
</edit-config>
</platform>
</plugin>
Почему он не удаляет node_modules? и что я могу сделать, чтобы избежать удаления тегов AndroidManifest?
Edit:
Если я удалю edit-config и вместо этого использую ловушку, я не буду удалять теги AndroidManifest, но они не будут выполнены или выдают ошибку EACCESS. Кроме того, он сохраняет зависимости node_modules.
<hook type="after_plugin_install" src="scripts/nameManifest.js" /> -- won't execcute
<hook type="before_plugin_uninstall" src="scripts/uninstallPackage.sh" /> -- EACCESS error