Selon https://Android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html :
En août 2019, Play nécessitera que les nouvelles applications et les mises à jour d'applications avec des bibliothèques natives fournissent des versions 64 bits en plus de leurs versions 32 bits.
J'ai une application React Native (qui inclut du code natif). Ma question est de savoir comment puis-je savoir si une bibliothèque tierce que j'utilise ou même mon propre code ne prend pas en charge la version 64 bits? Et comment puis-je résoudre ce problème?
Mettre à jour
J'ai ajouté x86_64
à mu build.gradle
et je vois maintenant le dossier x86_64
dans l'apk, mais je pense que certains fichiers sont manquants.
Voici à quoi ressemble mon dossier x86
:
Et voici à quoi ressemble mon dossier x86_64
:
React Native supportera le 64 bits pour Android à partir de la version 0.59
https://github.com/facebook/react-native/issues/2814#issuecomment-457688789
https://github.com/facebook/react-native/commit/f3e5cce4745c0ad9a5c697be772757a03e15edc5
https://github.com/facebook/react-native/issues/2814
Facebook semble avoir du mal à supporter les versions 64 bits.
Vous pouvez vérifier les intermédiaires dans le dossier de construction pour voir quel abis vous supportez.
https://developer.Android.com/ndk/guides/abis.html
Android prend le plus petit dénominateur commun de build abi. Cela va devenir un problème si Facebook ne s'en occupe pas bientôt.
Tout le code natif d'une application est stocké dans le répertoire libs/
à la racine de l'apk. Par exemple, pour le code compilé ARM ou x86, vous pouvez le trouver dans libs/type_architecture/nom_bibliothèque.so.
Un APK est essentiellement un fichier Zip, vous pouvez donc l'extraire avec n'importe quel outil Zip.
La liste des architectures (ABI) est ici . Si vous ne disposez pas de répertoires pour arm64-v8a ou de x86 mais que vous n'avez pas x86_64, le code natif 64 bits vous manque.