добавление / удаление моего плагина Cordova - PullRequest
0 голосов
/ 03 мая 2018

Я сделал плагин 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

1 Ответ

0 голосов
/ 04 мая 2018

На данный момент лучшее, что я могу сделать, это удалить этот edit-config и создать хуки для редактирования имени приложения и выполнения npm uninstall

...