В моем приложении React Native у меня есть два варианта. В каждом варианте есть некоторые изображения и видеоресурсы, которые используются только в этом варианте.
Чтобы уменьшить размер APK, я хотел бы исключить ненужные ресурсы до или во время сборки.
Что было бы наилучшим способом выполнить sh это?
Я пытался использовать aaptOptions в соответствии со строками ниже, но у меня это никогда не сработало:
aaptOptions {
'/folder:*.jpg:*.png'
ignoreAssetsPattern "!/"+projectName+":*.mp4:"
}
Раньше у меня была следующая задача внизу моего файла build.gradle:
task deleteOtherFlavourAssets(type: Delete) {
description = 'Deleting non $projectName assets'
delete fileTree("src").matching {
exclude "**/app_assets_$projectName**"
include "**/app_assets_**"
}
}
preBuild.dependsOn deleteOtherFlavourAssets
Это работало на некоторое время, но перестало работать через несколько месяцев go. Мне не удалось заставить его снова работать.
Я должен упомянуть, что при запуске вышеуказанной задачи как копии (вместо удаления) нужные файлы дублируются в этом каталоге.
task otherFlavourAssets(type: Copy) {
description = 'Copying non $projectName assets to temp directory'
copy {
from fileTree("src").matching {
exclude "**/app_assets_$projectName**"
include "**/app_assets_**"
}
into 'tempAssetStore'
}
}
Других релевантных пользовательских задач нет. Поэтому вполне возможно, что последующая задача сборки React Native будет копировать / объединять лишние ресурсы обратно, или, возможно, это проблема кеша.