Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida sobre build mode nos ambientes dev e homol

Ao fazer todo o fluxo ao final do curso, recebi erros nos workflows de DEV e HOMOL. Em local, os comandos flutter build apk --debug e flutter build apk --profile funcionam normalmente, contudo estouram erro no build ao passar pelo Codemagic.

A última configuração do build.gradle é essa:

buildTypes {
    release {
        signingConfig signingConfigs.release
    }
}

Minha dúvida é se também não deveria existir um buildType para debug e profile, já que exigimos os perfis de --debug para DEV e --profile para HOMOL ao cofigurar o "Mode" no Build dos workflows no Codemagic.

3 respostas

Olá, Wendel.

Tudo bem?

Entendi sua dúvida sobre os erros nos workflows de DEV e HOMOL ao usar os modos de build --debug e --profile no Codemagic. De fato, ao configurar seu build.gradle, é importante que você tenha os tipos de build correspondentes aos modos que está utilizando.

No seu caso, você já tem a configuração para release, mas parece que faltam as configurações para debug e profile. Você pode adicionar essas configurações no seu build.gradle da seguinte forma:

android {
    ...
    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
        debug {
            // Configurações específicas para o modo debug, se necessário
        }
        profile {
            // Configurações específicas para o modo profile, se necessário
        }
    }
}

Essas adições garantem que o Gradle reconheça os modos de build debug e profile, o que deve resolver os erros que você está enfrentando no Codemagic.

Espero ter entendido e conseguido ajudar. Qualquer dúvida manda aqui. Bons estudos.

Olá, Renan.

Testei a solução que você apresentou e além disso também adicionei as configurações de debug e profile ao signingConfigs:

signingConfigs {
        release {
            if (System.getenv()["CI"]) { // CI=true is exported by Codemagic
                storeFile file(System.getenv()["CM_KEYSTORE_PATH"])
                storePassword System.getenv()["CM_KEYSTORE_PASSWORD"]
                keyAlias System.getenv()["CM_KEY_ALIAS"]
                keyPassword System.getenv()["CM_KEY_PASSWORD"]
            } else {
                keyAlias keystoreProperties['keyAlias']
                keyPassword keystoreProperties['keyPassword']
                storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
                storePassword keystoreProperties['storePassword']
            }
        }

        debug {
            // Configurações específicas para modo debug
        }

        profile {
            // Configurações específicas para modo debug
        }
    }

Contudo, meu build ainda está falhando. O erro segue abaixo:

FAILURE: Build failed with an exception.

* Where:
Build file '/Users/builder/clone/android/app/build.gradle' line: 68

* What went wrong:
A problem occurred evaluating project ':app'.
> path may not be null or empty string. path='null'

No meu caso, a linha 68 representa storeFile file(System.getenv()["CM_KEYSTORE_PATH"])

Eu também preciso adicionar a keystore nos workflows de debug e profile do codemagic?

solução!

Olá, Renan.

Consegui resolver.

Encontrei essas duas referências:

Deu certo apenas adicionando as variáveis CM_KEYSTORE e CM_KEYSTORE_PATH, mas optei por adicionar as outras também, que seriam CM_KEYSTORE_PASSWORD, CM_KEY_PASSWORD e CM_KEY_ALIAS. Isso tanto no workflow de DEV como HOMOL. Acredito que não seja necessário replicar em PROD, uma vez que já fizemos o upload da keystore em Distribution, mas também não tenho certeza.