Entrée
Il y a quelques semaines, j'ai été confronté au problème du manque de prise en charge de l'architecture du jeu du processeur dans le téléphone. Bien sûr, je savais que ARMv7 deviendrait obsolète, mais je ne m'attendais pas à ce que cela se produise si rapidement. Il n'y avait pas beaucoup d'informations sur le réseau sur l'application de rétrogradation, j'ai donc dû improviser un peu, rappelant l'époque où la prise en charge d'ARMv6 avait disparu. Ainsi, dans cet article, nous nous concentrerons sur le portage des applications de l'architecture ARMv8 vers ARMv7, en fonction de mon expérience.
Le thème du portage de jeux Android d'une architecture à une autre est très nouveau. Au départ, je suis tombé sur cela en 2015, seulement il s'agissait de porter sur ARMv6. Depuis lors, le principe du transfert n'a pas changé, et n'importe qui peut transférer le jeu d'une architecture à une autre s'il dispose des bibliothèques nécessaires.
Analyser apk
Alors, qu'est-ce que
.apk ? Le fichier APK est une archive ZIP légèrement modifiée qui contient des ressources de jeu et un moteur de jeu. Cela ressemble à ceci:

Le dossier
lib est un point clé lors de la migration entre architectures. Il contient des bibliothèques de notre moteur de jeu.
*
armeabi - bibliothèque armv6 (sans objet)* armeabi-v7a - bibliothèque armv7
(en l'absence de dossier - il n'y a pas non plus de support d'architecture)* arm64-v8a - bibliothèques armv8 x64
Transfert
Étape # 1
Tout d'abord, nous devons savoir s'il est possible de porter le jeu. Pour ce faire, vous devez déterminer le moteur de jeu. Par exemple, le fichier
lib / libunity.so appartient à Unity Engine, et par la présence du
dossier assets / x-renpy, vous pouvez deviner que le jeu est développé sur RenPy Engine. Si le jeu n'a pas son propre moteur, passez à l'étape deux.
Étape # 2
Nous avons donc défini le moteur de jeu. Nous devons maintenant trouver un donneur approprié. Si ce jeu était précédemment pris en charge par votre appareil, et après la mise à jour, il s'est arrêté, vous pouvez essayer d'ouvrir les ressources des versions précédentes. Si cette option ne vous convient pas, vous pouvez rechercher des jeux basés sur le même moteur. Parfois, les développeurs n'ajoutent tout simplement pas la prise en charge d'armv7, il est donc possible de trouver les composants nécessaires.
Étape # 3
Nous avons trouvé un donneur approprié, nous devons maintenant ajouter le
dossier lib / armeabi-v7a à notre
(nom) .apk . Ajoutez et voyez ce qui suit:

Au tout début, comme je l'ai dit, le
fichier APK est une archive ZIP légèrement modifiée , et après avoir changé son contenu, il devient un ZIP normal.
Étape # 4
Pour que votre appareil puisse installer votre fichier (nom) .apk, vous devez le «signer». Il existe plusieurs utilitaires différents pour cela, par exemple
apk-signer .
Installez l'utilitaire sur votre appareil, ouvrez-le, allez dans la section Signature, cliquez sur le crayon ci-dessous et sélectionnez notre (nom) .apk. Après quoi, le programme vous demandera de choisir où enregistrer le «fichier signé». Nous choisissons et attendons. ??? PROFIT !!!

Étape # 5
Soyez une personne gentille, mettez votre port à la disposition du public, par exemple, dans le sujet du jeu sur le même w3bsit3-dns.com. ;-)
Quelques bibliothèques
Unity 3. * pour ARMv6: yadi.sk/d/XGHn309ORuPgeg
RenPy ARMv7: yadi.sk/d/_U-hnz8D-J7D-Q