O fim da era do ARMv7 ou um pouco sobre como portar jogos

Entrada


Há algumas semanas, eu me deparei com o problema da falta de suporte à arquitetura do processador do jogo no telefone. Obviamente, eu sabia que o ARMv7 se tornaria obsoleto, mas não esperava que isso acontecesse tão rapidamente. Como não havia muitas informações na rede no aplicativo de downgrade, tive que improvisar um pouco, relembrando os momentos em que o suporte ao ARMv6 se foi. Portanto, neste artigo, focaremos na transferência de aplicativos da arquitetura ARMv8 para o ARMv7, com base na minha experiência.
O tema de portar jogos Android de uma arquitetura para outra é muito novo. Inicialmente, me deparei com isso em 2015, mas era sobre portar para o ARMv6. Desde então, o princípio da transferência não mudou, e qualquer um pode transferir o jogo de uma arquitetura para outra, se tiverem as bibliotecas necessárias.

Analisando apk


Então, o que é .apk ? O arquivo APK é um arquivo ZIP ligeiramente modificado que contém recursos e um mecanismo de jogo. Parece algo como isto:

imagem

A pasta lib é um ponto chave ao migrar entre arquiteturas. Ele contém bibliotecas do nosso mecanismo de jogo.
* armeabi - biblioteca armv6 (não relevante)
* armeabi-v7a - biblioteca armv7 (na ausência de uma pasta - também não há suporte à arquitetura)
* arm64-v8a - bibliotecas armv8 x64

Transferir


Etapa 1


Primeiro de tudo, precisamos descobrir se é possível portar o jogo. Para fazer isso, você precisa determinar o mecanismo do jogo. Por exemplo, o arquivo lib / libunity.so pertence ao Unity Engine e, pela presença da pasta assets / x-renpy, você pode imaginar que o jogo foi desenvolvido no RenPy Engine. Se o jogo não tiver seu próprio mecanismo, vá para o passo dois.

Etapa 2


Então, nós definimos o mecanismo do jogo. Agora precisamos encontrar um doador adequado. Se este jogo foi suportado anteriormente pelo seu dispositivo, e após a atualização foi interrompido, você pode tentar abrir os recursos das versões anteriores. Se essa opção não se encaixar, você poderá procurar jogos com base no mesmo mecanismo. Às vezes, os desenvolvedores simplesmente não adicionam suporte ao armv7, portanto há uma chance de encontrar os componentes necessários.

Etapa 3


Encontramos um doador adequado, agora precisamos adicionar a pasta lib / armeabi-v7a ao nosso (nome) .apk . Adicione e veja o seguinte:

imagem

No começo, como eu disse, o arquivo APK é um arquivo ZIP ligeiramente modificado e, após alterar seu conteúdo, ele se torna um arquivo ZIP normal.

Etapa 4


Para que seu dispositivo possa instalar seu arquivo (nome) .apk, você precisa "assiná-lo". Existem vários utilitários diferentes para isso, por exemplo, apk-signer .

Instale o utilitário no seu dispositivo, abra-o, vá para a seção Assinatura, clique no lápis abaixo e selecione nosso (nome) .apk. Após o qual o programa solicitará que você escolha onde salvar o "arquivo assinado". Nós escolhemos e esperamos. ??? LUCRO !!!

imagem

Etapa 5


Seja uma pessoa gentil, coloque sua porta para uso público, por exemplo, no tópico do jogo no mesmo site w3bsit3-dns.com. ;-)

Algumas bibliotecas


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

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

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


All Articles