A atualização de arquitetura de 64 bits do aplicativo Android se adapta à arquitetura de CPU de 64 bits

1. Essência

Então atualização da biblioteca

Dois, então atualização da biblioteca

1. Verificação da biblioteca

1. Primeiro defina: abiFilters "armeabi-v7a", "arm64-v8a" e, em seguida, compile o arquivo apk correspondente
2, construção da barra de menus do android studio —> Analyze Apk...—> selecione o arquivo apk recém-compilado
3 e em seguida, no apk Na interface de análise, clique em lib para expandir, você pode ver duas pastas armeabi-v7a e arm64-v8a, clique em expandir para visualizar e analisar quais bibliotecas não possuem versões de 64 bits
interface de análise de apk

2. Portanto, atualize a biblioteca

Se a biblioteca so for relativamente antiga e não houver nenhuma biblioteca arm64-v8a so correspondente no diretório do projeto (como em libs e jniLibs), você precisará encontrar a versão correspondente de 32 bits da biblioteca so de 64 bits no site oficial, mas muitos sites oficiais não suportam histórico. Versão do download da biblioteca so, existem três soluções (pegue a versão 1.2.7 da biblioteca Jiguang Push core so, libjcore127.so como exemplo):

Opção um:

1. Primeiro defina abiFilters 'arm64-v8a'
2. Implementação 'cn.jiguang.sdk:jcore:1.2.7' e depois sincronize
3. Após a sincronização, procure a biblioteca so correspondente na pasta de compilação -arm64v8a
4. Depois de encontrar a biblioteca so, copiada para as bibliotecas correspondentes, pasta jniLibs/arm64-v8a/

Opção II:

1. Exclua a biblioteca local so
2. Implementação 'cn.jiguang.sdk:jcore:1.2.7' e, em seguida, sincronize

terceira solução:

1. De acordo com o processo do site oficial, atualize a versão sdk para a mais recente
2. Para atualizar para a versão mais recente, você precisa fazer a adaptação de compatibilidade do código do projeto, porque os métodos, variáveis, interfaces, etc. versão antiga do sdk pode mudar

3. O que devo fazer se não conseguir encontrar a biblioteca so de 64 bits?

Se for uma biblioteca so escrita por mim, basta compilar uma versão de 64 bits.
Se for uma biblioteca so de terceiros, por exemplo, encontrei uma biblioteca so com imagem compactada durante o processo de atualização. Não encontrei um 64 -bit, então eu a descartei diretamente. , encontrei um novo esquema de compactação de imagem para substituí-la.

4. Sobre a configuração do abiFilters

A versão armeabi-v7a corresponde à arquitetura de CPU de 32 bits e a versão arm64-v8a corresponde à arquitetura de CPU de 64 bits;

abiFilters 'armeabi-v7a'  //此配置编译出的apk只支持32位系统
abiFilters 'arm64-v8a'  //此配置编译出的apk只支持64位系统
abiFilters "armeabi-v7a","arm64-v8a" //此配置编译出的apk支持32位和64位系统
                                     //但apk的包体积会更大

Se a configuração do projeto for abiFilters "armeabi-v7a", "arm64-v8a", o celular com arquitetura de CPU de 64 bits encontrará apenas a versão arm64-v8a da biblioteca so, mas se algumas bibliotecas so de 64 bits estiverem faltando no apk empacotado, causará problemas como travamento do aplicativo

在大西洋海底,阿龙纳斯随尼摩船长去做了一次新奇旅行;
他们脚踩在沉没了的大陆——一大西洋洲的一座山峰上,
观赏一座火山的海底喷火口喷出硫磺火石的奇景。
眺望山脚下一座破坏了的城市—一整个沉没水底的庞贝城。
书中描述传说中的海底古城:亚特兰蒂斯。
                            ------《海底两万里》

おすすめ

転載: blog.csdn.net/Duker_tec/article/details/122078281