Проблема 64-битной версии в Android-приложении реакции от Google Play Store

Согласно https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html:

В августе 2019 года Play Store потребует, чтобы новые приложения и обновления приложений с собственными библиотеками предоставляли 64-разрядные версии в дополнение к их 32-разрядным версиям.

У меня есть приложение React Native (которое включает в себя нативный код). У меня вопрос: как я могу узнать, что сторонняя библиотека, которую я использую, или даже мой собственный код не поддерживает 64-битную версию? И как я могу это исправить?

Обновление

Я добавил x86_64 в свой build.gradle и теперь вижу папку x86_64 в apk, но я думаю, что некоторые файлы отсутствуют.

Вот как выглядит моя папка x86:

enter image description here

А вот как выглядит моя папка x86_64:

enter image description here

Ответ 2

Весь нативный код для приложения хранится в каталоге libs/ в корне apk. например, для скомпилированного кода ARM или x86 вы можете найти его в libs/architect_type/lib_name.so.

APK - это, по сути, просто zip файл, поэтому вы можете извлечь его любым zip-инструментом.

Список архитектур (ABI) находится здесь. Если у вас нет каталогов для arm64-v8a или x86, но у вас нет x86_64, то вам не хватает 64-битного собственного кода.

Ответ 3

https://github.com/facebook/react-native/issues/2814

Facebook, похоже, тянет ногу на поддержку 64-битных сборок.

Вы можете проверить промежуточные продукты в папке сборки, чтобы узнать, что вы используете.

https://developer.android.com/ndk/guides/abis.html

Android принимает самый низкий общий знаменатель сборки abi. Это станет проблемой, если Facebook не обратится к ней в ближайшее время.

Ответ 5

Реактивные новые версии поддерживают 64 бит автоматически. просто обновите собственную версию реагирования до версии 0.59.0 или более поздней и перестройте приложение, просто запустите:

react-native upgrade 0.59.1