Cordova-android 7 проблема при копировании png с использованием исходного файла

Я пытаюсь решить проблему с плагином cordova, работающим под управлением cordova-android 7.0, и обнаружил, что проблема заключается в копировании файлов.png с использованием тега source-file в plugin.xml, однако я не могу найти никакой документации об этом. Кто-нибудь знает, что здесь происходит?

<source-file src="res/android/drawable/ic_fingerprint_success.xml" target-dir="res/drawable"/>
<source-file src="res/android/drawable-hdpi/ic_fp_40px.png" target-dir="res/drawable-hdpi"/>

В приведенном выше коде xml копирует без проблем в правильный каталог в новом макете, однако, как только он попадает в png, я получаю следующие ошибки в следующих плагинах

Failed to install 'cordova-plugin-ionic-keyboard': Error: ENOENT: no such file or directory, open 'E:\Development\Angular2\ionicblank\ionic-cordova-android-7\platforms\android\AndroidManifest.xml'

Что-то в копировании pngs заставляет его возвращаться к старой структуре каталогов для любых последующих плагинов. Я попытался скопировать XML-файл в папку drawable-hdpi, но это работает нормально, так что это определенно связано с PNG, или, по крайней мере, формат имени файла

1 ответ

Решение

Проблема заключалась в том, что вам нужно использовать файлы ресурсов в cordova-android 7, исходный файл заставляет установщик вернуться к старому макету, который сломает плагины cordova-android 7. Плагин, использующий исходные файлы, будет работать нормально, но все последующие плагины, использующие новый макет, потерпят неудачу с похожими ошибками.

Убедитесь, что вы удалили платформу и перестроили плагин после изменения, чтобы использовать файл ресурсов вместо исходного файла, или вы можете увидеть ту же проблему, потому что старый макет каталога все еще будет присутствовать

Другие вопросы по тегам