Skip to content

Instantly share code, notes, and snippets.

@marcosbarker
Last active August 6, 2021 01:48
Show Gist options
  • Save marcosbarker/f7bd533775d5e1f5548357b82c87d3f2 to your computer and use it in GitHub Desktop.
Save marcosbarker/f7bd533775d5e1f5548357b82c87d3f2 to your computer and use it in GitHub Desktop.
REACT NATIVE: Manual com passo a passo de como gerar APK e AAB. (Comandos servem para Linux e Windows)

REACT NATIVE
Manual para gerar APK e AAB

1ª Verificar e atualizar o Gradle do seu projeto

1.1 Verifique a versão atual do Gradle no projeto (dentro da pasta android):

 ./gradlew --version

versaoGradle

  • Caso de 'permission denied' use o comando:
 chmod +x gradlew
Repita a consulta da versão

1.2 Em Gradle Releases verifique a versão atual, atualize a versão do seu projeto com o comando:

 ./gradlew wrapper --gradle-version 7.1.1 
🧐obs: (7.1.1 é a última versão disponível em 24/07/2021)
🧐obs: É recomendado por documentação instalar a últiva versão do Gradle, entretanto pode surgir incompatibilidade com a versão do React Native que gerou o projeto. Caso ocorra esse erro na hora de gerar a APK, instale o Gradle com a versão que mais se aproxima indicada na etapa 1.1.

installGradle

1.3 Caso o download e atualização inicie, utilize o mesmo comando do passo 1.1. O comando de consulta de versão posteriormente ao comando 1.2, faz com que o Gradle baixe a versão indicada.

 ./gradlew --version
🧐obs: Após o download, verifique novamente a versão com o comando do passo 1.1 e verifique se o Gradle foi atualizado com a versão indicada no passo 1.2;
🧐obs: Caso mesmo assim o download não ocorra, existe uma possível incompatibilidade com o Gradle do projeto. Isso pode ocorrer por desatualização do React Native CLI que gerou o projeto.

1.4 Conferindo o Gradle. Se tudo ocorreu como esperado, o projeto terá modificação em dois arquivos:

Na pasta 'android' os arquivos 'gradle.properties' e 'gradlew':

arquivoGradle

2ª Gerarando chaves de segurança para APK e AAB(Bundle)

2.1 As chaves devem ficar na pasta 'app' que esta dentro da pasta 'android' (pastaDoProjeto >> android >> app).

🧐obs: AS chaves são geradas no endereço em que o terminal está. Caso gere as chaves em outro local, basta tranferilas para pasta 'app'.

2.2 Comandos para gerar as chaves (Arquivo keystore). Não é necessário gerar as duas chaves, elas são independentes e vai depender da finalidade.

- Comando para gerar keystore APK:
keytool -genkeypair -v -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
- Comando para gerar keystore AAB:
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

2.3 Varias informações serão pedidas, são elas:

- Senha
- Nome
- Empresa Unit
- Projeto
- Cidade
- Estado
- País
- Confirmação dos dados

geraChave

🧐Obs: Se as chaves forem geradas com sucesso, verifique na pasta, o(s) arquivo(s) 'my-upload-key.keystore' e ou 'my-release-key.keystore', de acordo com o que você escolheu gerar.

chaves

🧐Obs: Verifique se a chave ou as chaves estão na pasta app.

3ª Configurando as váriaveis do Gradle no código.

3.1 Abra o codigo em uma IDE (VScode)

3.2 O seguinte código deve ser incluido no final do arquivo 'gradle.properties'. Este arquivo está dentro da pasta 'android' (pastaDoProjeto >> android >> gradle.properties):

MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore
MYAPP_UPLOAD_KEY_ALIAS=my-key-alias
MYAPP_UPLOAD_STORE_PASSWORD=SENHA QUE VOCE USOU NO PASSO 2.2
MYAPP_UPLOAD_KEY_PASSWORD=SENHA QUE VOCE USOU NO PASSO 2.2

3 2 gradlePropVs

3.3 O seguinte código deve ser incluido do arquivo 'build.gradle' que está em (pastaDoProjeto >> android >> build.gradle). Procure por 'signingConfigs' e insira o código, respeitando a hierarquia das chaves { }:

 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
            }
        }

3 3 codeSigning

3.4 No mesmo arquivo adicione a seguinte linha de código em 'buildTypes >> release':

signingConfig signingConfigs.release

bultTyoesVs


4ª Gerando APK e AAB

4.1 Gerar APK, dentro da pasta 'android' (pastaDoProjeto >> android) rode o seguinte comando no terminal:

 ./gradlew assembleRelease
🧐Obs: Essa parte demora um pouco, caso tudo ocorra como esperado, ao final terá um 'BUILD SUCCESSFUL'.

apkTela01 apkTela02


4.2 Gerar AAB, dentro da pasta 'android' (pastaDoProjeto >> android) rode o seguinte comando no terminal:

 ./gradlew bundleRelease
🧐Obs: O processo de gerar a AAB é exatamente o mesmo de gerar a APK.

5ª Arquivo APK e AAB, onde estão?

5.1 APK:

pastaDoProjeto >> android >> app >> build >> outputs >> apk >> release

caminhaAPK

5.2 AAB:

pastaDoProjeto >> android >> app >> build >> outputs >> bundle >> release

📱Agora é só instalar o app no celular e ver que esta pior do que você esperava rs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment