Implantar em celulares e usar plugins Cordova
Desenvolvemos uma aplicação web simples e agora vamos fazer alguns preparativos antes de implantá-la no mobile. Ionic suporta duas plataformas: iOS e Android, o projeto padrão Ionic não adiciona essas duas plataformas, precisamos adicioná-lo manualmente e CD ao diretório de desenvolvimento para executar o comando:
Só preciso da plataforma Android aqui, e depois de executá-la, executarei o comando para ver a lista de plataformas que você adicionou:
> Plataforma Cordova LS
Você foi excluído da telemetria. Para mudar isso, execute: telemetria cordova ativada. Plataformas instaladas: Android 7.0.0 Plataformas disponíveis: navegador ~5.0.1 iOS ~4.5.4 OSX ~4.0.1 Windows ~5.0.0 www ^3.12.0
Pacote Android
(Se houver algum problema com esse comando, você pode remover -release e depois depurar compilação, e a compilação for concluída, o DOS exibirá a localização do diretório apk)
Se seus olhos inteligentes identificarem as seguintes palavras: Construa o Sucesso! Significa que você conseguiu embalar com sucesso. Tenha paciência, o final da linha de comando vai te indicar onde o apk foi gerado.
Quando eu executar o comando de empacotamento novamente, o erro será o seguinte: o erro é que a versão jdk está muito alta, eu sou a versão "jdk-10.0.1", e posso baixar e instalar novamente uma versão "1.8.0_171" para resolver o problema!!
C:\project\android\myApp>ionic cordova build android --release Executando scripts de aplicativo: --plataforma Android --Target Cordova [17:06:47] desenvolvimento de build iniciado ... [17:06:47] Começou limpo ... [17:06:47] limpo terminado em 8 ms [17:06:47] Cópia iniciada ... [17:06:47] Deeplinks começaram ... [17:06:47] Deeplinks terminou em 15 ms [17:06:47] transpile iniciado ... [17:06:50] Transpile terminou em 3,71 s [17:06:50] O pré-processo iniciado ... [17:06:50] O pré-processo terminou em 1 ms [17:06:50] Webpack iniciado ... [17:06:51] cópia finalizada em 3,96 s [17:06:56] Webpack terminou em 5,58 s [17:06:56] A ousadia começou ... Sem a opção 'from', o PostCSS pode gerar o mapa de origem errado e não encontrará a configuração do Browserslist. Defina para caminho de arquivo CSS ou 'indefinido' para evitar esse aviso. [17:06:58] O Sass terminou em 2,05 s [17:06:58] pós-processo iniciado ... [17:06:58] pós-processamento concluído em 10 ms [17:06:58] A fiapo começou ... [17:06:58] desenvolvimento de build terminou em 11,65 s > Build Cordova para Android --lançamento
Você foi excluído da telemetria. Para mudar isso, execute: telemetria cordova ativada. Projeto Android Studio detectado
ANDROID_HOME=C:\Users\itsvse_pc\AppData\Local\Android\sdk JAVA_HOME=C:\Program Files\Java\jdk-10.0.1 (nó: 14940) UnhandledPromiseRejectionWarning: Rejeição de promessa não tratada (id de rejeição: 1): CordovaErro: Verificação de requisitos falhou para JDK 1.8 ou superior (nó: 14940) [DEP0018] DepreciaçãoAviso: Rejeições de promessas não tratadas estão obsoletas. No futuro, rejeições de promessas que não forem tratadas encerrarão o processo de Node.js com um código de saída diferente de zero.
[17:07:01] O Lint terminou em 3,00 s Execute o comando acima novamente, porque a velocidade da minha rede é lenta, e é a primeira vez que executo, baixe muitos componentes, etc., e execute por 12 minutos, como mostrado na figura abaixo:
C:\project\android\myApp\platforms\android\app\build\outputs\apk\release\app-release-unsigned.apk 是编译后的app存放地址。
Copiei "app-release-unsigned.apk" para o meu celular (Huawei Honor 10), e o erro será o seguinte:
Isso acontece porque o app não está conectado e não consegue instalar.
Assinatura APK
Como meu diretório Java está nas variáveis de ambiente, só preciso executar o comando cmd da seguinte forma:
/*说明:-genkey 产生密钥 -alias demo.keystore alias demo.keystore -keyalg RSA usa o algoritmo RSA para criptografar assinaturas -validade 40000 Validade 4000 dias -keystore itsvse.keystore nome do arquivo */ apksigner está localizado no diretório build-tools do diretório SDK. Vale notar que o método de assinatura v2 só foi introduzido após o Android 7.0, então apksigner.jar só pode ser encontrado no SDK\build-tools\ da versão >25. Abra o cmd, corte o diretório para SDK\build-tools\Número da versão\lib (por exemplo, C:\Users\itsvse_pc\AppData\Local\Android\Sdk\build-tools\28.0.0\lib) e execute:
Exemplo:
D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
/*说明:-verbose 输出签名的详细信息 -keystore demo.keystore localização keystore -signedjar demor_signed.apk demo.apk demo.keystore oficialmente assinados, o arquivo demo_signed gerado após a assinatura em ordem nos três parâmetros, o arquivo demo.apk ser assinado, e o keystore demo.keystore.*/
Verifique se o apk já está assinado:
Copiamos o arquivo "output.apk" assinado para o telefone e depois instalamos, ele pode ser instalado normalmente e pode rodar normalmente, como mostrado na figura abaixo:
|