Я хочу скопировать файлы из каталога до начала процесса сборки - в /platforms/android/app/src.
Я наткнулся на Плагин Microsoft Ace для Cordova, новидимо этот проект больше не поддерживается, поэтому я снова заработал (как-то).Файлы, которые нужно скопировать, находятся в каталоге cordova в / native / (например, AndroidManifest.xml) и должны быть перемещены в скомпилированный каталог.
Сначала я попытался изменить android_before_compile.js
function copyAndroidFiles() {
var fs = require('fs-extra');
var dest = path.join(__dirname, '../../../../platforms/android');
var nativeAndroidAppFolder = path.join(__dirname, '../../../../native/android');
try {
fs.accessSync(nativeAndroidAppFolder, fs.R_OK);
}
catch (ex) {
return;
}
fs.copySync(nativeAndroidAppFolder, dest);
}
И он, например, копирует нативный / android / AndroidManifest.xml в каталог platform / android /.Но в платформах / android / app / src / main есть еще один сгенерированный AndroidManifest.xml, который используется для создания приложения, поэтому мои скопированные файлы ничего не меняют.
Итак, я переместился в файл plugin.xml в каталоге плагинов и добавил модификаторы для манифеста и запрос копирования для файлов:
<source-file src="src/android/static/res/xml/list_widget_info.xml" target-dir="res/xml" />
[...]
<config-file target="AndroidManifest.xml" parent="/manifest/application">
<activity xmlns:android="http://schemas.android.com/apk/res/android" android:name="run.ace.AceActivity">
</activity>
<receiver android:label="List"
android:name="your.package.name1.ListWidgetProvider">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/list_widget_info" />
</receiver>
<service android:exported="false" android:name="run.ace.AppWidgetService" android:permission="android.permission.BIND_REMOTEVIEWS" />
И это прекрасно работает, покаЯ удаляю и добавляю платформу Android каждый раз, когда меняю что-то в папке native /.
Так как же правильно скопировать файлы перед компиляцией?
9.0.0 (cordova-lib@9.0.1)