Skip to content

Instantly share code, notes, and snippets.

@ricardoleme
Created April 26, 2023 13:06
Show Gist options
  • Save ricardoleme/6fef4b2a32df9d33c3d7b91046ff9d17 to your computer and use it in GitHub Desktop.
Save ricardoleme/6fef4b2a32df9d33c3d7b91046ff9d17 to your computer and use it in GitHub Desktop.
Gerando APK local com o novo EAS do Expo

Para gerar um APK local com o novo EAS do Expo:

  1. Instale o eas-cli de forma Global via npm (o Expo não recomenda o uso do Yarn para pacotes globais😪)
npm install -g eas-cli
  1. Faça o login na sua conta Expo
eas login
  1. Gere o arquivo de configuração (eas.json)
eas build:configure
  1. Substitua o arquivo gerado pelo conteúdo abaixo:
{
  "build": {
    "preview": {
      "android": {
        "buildType": "apk"
      }
    },
    "preview2": {
      "android": {
        "gradleCommand": ":app:assembleRelease"
      }
    },
    "preview3": {
      "developmentClient": true
    },
    "production": {}
  }
}
  1. Gere o APK
eas build -p android --profile preview
  1. Caso faça alguma alteração no código fonte, basta repetir o passo 5 para gerar novamente a APK.
@fallsdevil
Copy link

oi, me tira uma dúvida? sou novo nisso e queria saber como configuro o android studio pra fazer um apk em arm32?

@ricardoleme
Copy link
Author

como configuro o android studio pra fazer um apk em arm32?

Para configurar o Android Studio e gerar um APK para dispositivos com arquitetura ARM32 (armeabi-v7a), você pode seguir os passos abaixo:

Passo 1: Configurar o build.gradle

Primeiro, você precisa configurar o arquivo build.gradle da sua aplicação para garantir que o APK seja compatível com a arquitetura ARM32. Vá até o arquivo app/build.gradle e adicione a configuração da seguinte maneira:

android {
    ...
    defaultConfig {
        ...
        ndk {
            abiFilters 'armeabi-v7a'
        }
    }
}

Essa linha (abiFilters 'armeabi-v7a') garante que o APK seja compilado especificamente para ARM32. Caso queira suportar múltiplas arquiteturas (por exemplo, ARM64 ou x86), você pode adicionar outros valores ao filtro, como 'arm64-v8a' ou 'x86', mas aqui estamos focando na ARM32.

Passo 2: Verificar dependências nativas (opcional)

Se o seu aplicativo utiliza bibliotecas nativas (C/C++ via NDK), é importante garantir que essas bibliotecas também estejam compiladas para ARM32. Você pode checar isso no diretório jniLibs do seu projeto, onde as bibliotecas nativas devem estar organizadas em pastas por arquitetura (por exemplo, jniLibs/armeabi-v7a).

Passo 3: Gerar o APK

Depois de configurar o build.gradle, você pode seguir os passos abaixo para gerar o APK:

  1. No Android Studio, vá ao menu Build e selecione Build Bundle(s) / APK(s).
  2. Escolha a opção Build APK(s).
  3. Aguarde o Android Studio gerar o APK.
  4. Quando a compilação terminar, uma notificação aparecerá com a opção de visualizar o APK gerado.

Passo 4: Verificar a arquitetura do APK

Após a geração do APK, é uma boa prática verificar se ele foi realmente compilado para a arquitetura correta (ARM32). Isso pode ser feito usando o seguinte comando no terminal, dentro do diretório onde o APK foi gerado:

aapt dump badging app-release.apk | grep native-code

Esse comando mostrará as arquiteturas suportadas pelo APK. Verifique se armeabi-v7a está listado.

Passo 5: Assinar e alinhar o APK (opcional)

Se você pretende distribuir o APK para produção, lembre-se de assiná-lo e usar o zipalign:

  1. No Android Studio, vá até Build > Generate Signed Bundle / APK.
  2. Siga o assistente para assinar o APK com a chave privada.

Esses passos devem te permitir gerar um APK para ARM32 (armeabi-v7a). Se precisar gerar versões para outras arquiteturas no futuro, basta ajustar o filtro de ABI no build.gradle.

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