Seu aplicativo foi finalizado e está pronto para o mundo, veja abaixo como fazer.
Essas dicas são válidas para aplicativos gerados pelo Ionic, Phonegap e Cordova.
Primeiro vamos gerar uma compilação de lançamento do aplicativo, o lançamento é específico para cada plataforma, vou mostrar os passos para gerar o aplicativo para Android na loja Google Play, e futuramente explico como fazer com as outras plataformas:
Gerando uma compilação de lançamento
Para gerar uma compilação de lançamento para o Android, utilize o seguinte comando:
$ cordova build –release android
Isso irá gerar uma compilação com base nas configurações em seu config.xml, mas um detalhe, o APK não está assinado “unsigned.apk”, e assim ele não será aceito no Google Play.
O Android requer que todos os aplicativos sejam assinados digitalmente com um certificado antes que eles possam ser instalados, esse certificado será usado para identificar o autor do aplicativo, o certificado não precisa ser assinado por uma autoridade certificadora, apps Android costumam usar certificados auto-assinados onde o desenvolvedor de aplicativo detém a chave privada do certificado.
Criando uma chave privada
Vamos ver como assinar um APK usando o keytool para gerar uma chave privada, o keytool já vem com o JDK.
$ keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
Observe a solicitação para criar uma senha para o armazenamento de chaves, em seguida responda o resto das perguntas, quando tudo estiver pronto, um arquivo com nome “my-release-key.keystore” será gerado, ele será sua chave.
Manter a segurança de sua chave privada é de fundamental importância, sua chave privada é necessária para a assinatura de todas as versões futuras do seu aplicativo, certifique-se de salvar este arquivo em algum lugar seguro, se perdê-la você não será capaz de enviar atualizações para o seu app, se um terceiro conseguir sua chave sem o seu conhecimento ou permissão, essa pessoa poderá assinar e distribuir um aplicativos maliciosamente e substituir seus aplicativos autênticos por um aplicativo malicioso.
Você não pode regenerar uma chave gerada anteriormente.
Agora que já possuímos a chave, vamos assinar nosso APK
Para assinar o APK, execute o jarsigner
ferramenta que faz parte da instalação do JDK:
$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore android-release-unsigned.ap NomoDoAkpAssinado
Agora execute a ferramenta zip align para otimizar a APK
zipalign -v 4 android-release-unsigned.apk NomoDoAkpAssinado.apk
Agora que já temos o binário na versão final, já podemos publica-lo no Google Play Store no endereço https://play.google.com/apps/publish/
Problemas:
1 – Não consigo gerar o APK no Windows, o ANDROID_HOME e a path não estão configurados, android não é reconhecido como um comando interno ou externo, um programa operável ou um arquivo em lotes:
Acesso o Painel de Controle e clique no ícone Sistemas, irá aparecer uma janela chamada propriedades do sistema com diversas abas, acesse a aba Avançados e clique no botão variáveis de ambiente, adicionando nova variável de sistema. Sempre utilize as variáveis do sistema e não variáveis do usuário.
ANDROID_HOME C:\<installation location>\android-sdk-windowsPATH %PATH%;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools
2 – jarsigner não é reconhecido como um comando interno ou externo, um programa operável ou um arquivo em lotes:
Vá em variável de sistema e adicione a path
PATH C:\Program Files\Java\jdk1.8.0_25\bin
3 – ‘zipalign‘ não é reconhecido como um comando interno ou externo, um programa operável ou um arquivo em lotes:
Procure por zipalign.exe dentro da pasta build-tools na instalação do Android-sdk, encontre o arquivo zipalign.exe e faça uma cópia dele para a pasta tools
PATH Android-sdk\build-tools