Я создал свой проект с помощью команды из руководства:
vue init nativescript-vue/vue-cli-template <project-name>
и я создаю APK-файлы выпуска с помощью следующей команды:
tns build android --bundle --release --key-store-path ./my_key.jsk --key-store-password *** --key-store-alias key1 --key-store-alias-password ***
Но когда я загружаю APK в консоль Google Play, я получаю эту ошибку:
This release is not compliant with the Google Play 64-bit requirement
Со ссылкой на эту страницу: https://developer.android.com/distribute/best-practices/develop/64-бит.
Как мне создать релизные APK-файлы, совместимые с новыми требованиями?
Другие говорят, что я должен добавить ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64' в свой скрипт Gradle. Это то, что я должен делать? И где именно?
В App_Resources/Android/app.gradle обновите ваш defaultConfig, чтобы включить:
ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
Таким образом, ваш app.gradle должен выглядеть примерно так:
android {
defaultConfig {
generatedDensities = []
applicationId = "<applicationId>"
ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
}
aaptOptions {
additionalParameters "--no-version-vectors"
}
}
В соответствии с этим выпуск на GitHub я использую только эти фильтры:
ndk.abiFilters 'armeabi-v7a','arm64-v8a'
x86 и x86_64 — необычные архитектуры, и моему приложению не нужно было их поддерживать.
x86 (и, следовательно, x86_64) требуется для некоторых носимых устройств. Удаление его из списка не решает проблему, не так ли? Хотя я согласен с тем, что его удаление удовлетворяет требованиям Google, поскольку два других с радостью предоставляют как 32-битные, так и 64-битные версии.
armeabi-v7aиarm64-v8a— распространенные 64-битные архитектуры, удовлетворяющие требованию 64-битности. Согласно связанной проблеме в GitHub, у меня все еще были проблемы при включенииx86иx86_64, которые, как я объяснил, необычны и не нужны для всех приложений в зависимости от уровня поддержки.