Passo a Passo do Processo de Compilação de um Aplicativo React Native.
By João Paulo Siqueira At Thu Dec 30 2021 22:20:57 GMT+0000 (Coordinated Universal Time)
Quando o comando npx react-native run-android
é executado, uma versão debug do APK é gerada no diretório android\app\build\outputs\apk\debug, mas essa versão debug não serve para instalação.
Para você poder gerar uma versão instalável, você precisa gerar uma versão Release e para fazer isso, você precisa assinar digitalmente o seu APK com um Keystore.
A versão Release assinada digitalmente é um requisito para publicar o seu aplicativo na Play Store.
Abra o Prompt de Comando e navegue até o diretório do seu aplicativo e execute o seguinte comando:
"C:\Program Files\Java\jdkx.x.x_xxx\bin\keytool.exe" -genkeypair -v -keystore release.keystore -alias release -keyalg RSA -keysize 2048 -validity 10000 -deststoretype PKCS12
Responda as perguntas:
Informe a senha da área de armazenamento de chaves:
Informe novamente a nova senha:
Qual é o seu nome e o seu sobrenome?
Qual é o nome da sua unidade organizacional?
Qual é o nome da sua empresa?
Qual é o nome da sua Cidade ou Localidade?
Qual é o nome do seu Estado ou Município?
Quais são as duas letras do código do país desta unidade?
Em unidade organizacional, você pode colocar o nome do departamento que você trabalha, ou você pode deixar em branco.
Em empresa, você pode preencher com o nome da sua empresa ou deixar em branco.
Não utilize caracteres especiais (Digite Joao ao invés de João).
A Senhas de chave e de armazenamento diferentes não suportadas para KeyStores PKCS12, caso você precise de uma senha de chave diferente, remova o argumento -deststoretype PKCS12
do comando para gerar um KeyStore no formato JKS.
Após preencher os dados, o comando vai pedir para confirmar os dados, digite sim:
CN=Seu Nome, OU=Unknown, O=Nome da Empresa, L=Nome da Cidade, ST=Nome do Estado, C=BR Está correto?
[não]: sim
Após isso, copie o arquivo release.keystore para dentro do diretório:
/android/app
Dentro do diretório android, tem um arquivo chamado gradle.properties, abra o arquivo copie as seguintes linhas no final do arquivo:
MYAPP_UPLOAD_STORE_FILE=release.keystore
MYAPP_UPLOAD_KEY_ALIAS=release
MYAPP_UPLOAD_STORE_PASSWORD=******
MYAPP_UPLOAD_KEY_PASSWORD=******
Substitua os ****** com seu a senha.
Localize o arquivo build.gradle dentro do diretório /android/app/ e adicione ou altere as seguintes linhas:
android {
...
defaultConfig { ... }
signingConfigs {
release {
if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) {
storeFile file(MYAPP_UPLOAD_STORE_FILE)
storePassword MYAPP_UPLOAD_STORE_PASSWORD
keyAlias MYAPP_UPLOAD_KEY_ALIAS
keyPassword MYAPP_UPLOAD_KEY_PASSWORD
}
}
}
buildTypes {
release {
...
signingConfig signingConfigs.release
}
}
}
Para gerar o APK no Windows 10, abra o Prompt de Comando, navegue até o diretório android e execute o seguinte comando:
gradlew assembleRelease
O comando no Linux é um pouco diferente:
./gradlew assembleRelease
O arquivo estará localizado no diretório:
\android\app\build\outputs\apk\release
Para gerar o AAB no Windows 10, abra o Prompt de Comando, navegue até o diretório android e execute o seguinte comando:
gradlew bundleRelease
O comando no Linux é um pouco diferente:
./gradlew bundleRelease
O arquivo estará localizado no diretório:
\android\app\build\outputs\bundle\release
Também é possível instalar a versão Release no emulador do Android.
Mas lembre de desinstalar a versão Debug antes instalar a versão Release, pois são versões diferentes e fazer isso ocorrerá um erro de instalação.
Para instalar a versão Release, execute o seguinte comando:
npx react-native run-android --variant=release
Lembre-se também de desinstalar a versão Release antes instalar a versão Debug.
Com o APK em mãos, você está pronto para instalar em seu celular, mas lembre de habilitar o modo desenvolvedor.
Para publicar o Aplicativo na Play Store, utilize o arquivo AAB ao invés do arquivo APK, os Termos de Serviço foram atualizados e os arquivos APK não são mais suportados.