El final de la era ARMv7 o un poco sobre portar juegos

Entrada


Hace un par de semanas me enfrenté al problema de la falta de soporte para la arquitectura del procesador del juego en el teléfono. Por supuesto, sabía que ARMv7 se volvería obsoleto, pero no esperaba que esto sucediera tan rápido. No había mucha información en la red sobre la aplicación de degradación, así que tuve que improvisar un poco, recordando los momentos en que el soporte para ARMv6 había desaparecido. Entonces, en este artículo nos enfocaremos en portar aplicaciones de la arquitectura ARMv8 a ARMv7, según mi experiencia.
El tema de portar juegos de Android de una arquitectura a otra es muy nuevo. Inicialmente, me encontré con esto en 2015, solo se trataba de portar a ARMv6. Desde entonces, el principio de transferencia no ha cambiado, y cualquiera puede transferir el juego de una arquitectura a otra si tienen las bibliotecas necesarias.

Analizando apk


Entonces, ¿qué es .apk ? El archivo APK es un archivo ZIP ligeramente modificado que contiene recursos del juego y un motor de juego. Se parece a esto:

imagen

La carpeta lib es un punto clave al migrar entre arquitecturas. Contiene bibliotecas de nuestro motor de juego.
* armeabi - biblioteca armv6 (no relevante)
* armeabi-v7a - biblioteca armv7 (en ausencia de una carpeta, tampoco hay soporte de arquitectura)
* arm64-v8a - bibliotecas armv8 x64

Transferencia


Paso # 1


En primer lugar, necesitamos descubrir si es posible portar el juego. Para hacer esto, debes determinar el motor del juego. Por ejemplo, el archivo lib / libunity.so pertenece a Unity Engine, y por la presencia de la carpeta assets / x-renpy, puedes adivinar que el juego está desarrollado en RenPy Engine. Si el juego no tiene su propio motor, vaya al paso dos.

Paso 2


Entonces, hemos definido el motor del juego. Ahora necesitamos encontrar un donante adecuado. Si su dispositivo ya admitía este juego y después de la actualización se detuvo, puede intentar abrir los recursos de versiones anteriores. Si esta opción no se ajusta, puede buscar juegos basados ​​en el mismo motor. A veces los desarrolladores simplemente no agregan soporte para armv7, por lo que existe la posibilidad de encontrar los componentes necesarios.

Paso 3


Encontramos un donante adecuado, ahora necesitamos agregar la carpeta lib / armeabi-v7a a nuestro (nombre) .apk . Agregue y vea lo siguiente:

imagen

Al principio, como dije, el archivo APK es un archivo ZIP ligeramente modificado , y después de cambiar su contenido se convierte en un archivo ZIP normal.

Paso 4


Para que su dispositivo pueda instalar su archivo (nombre) .apk, debe "firmarlo". Hay varias utilidades diferentes para esto, por ejemplo, apk-signer .

Instale la utilidad en su dispositivo, ábrala, vaya a la sección Firma, haga clic en el lápiz a continuación y seleccione nuestro (nombre) .apk. Después de lo cual el programa le pedirá que elija dónde guardar el "archivo firmado". Elegimos y esperamos. ??? BENEFICIO !!!

imagen

Paso 5


Sea una persona amable, ponga su puerto para uso público, por ejemplo, en el tema del juego en el mismo w3bsit3-dns.com. ;-)

Algunas libs


Unidad 3. * para ARMv6: yadi.sk/d/XGHn309ORuPgeg

RenPy ARMv7: yadi.sk/d/_U-hnz8D-J7D-Q

Source: https://habr.com/ru/post/482282/


All Articles