1
resposta

[Dúvida] A loja da Google NÃO vai aceitar o app com as versões automáticas geradas pelo calculo da aula. Pois o versionCode irá se repetir.

Olá, bom dia.

Tenho duas dúvidas e agradeço a quem puder ajudar.

Eu tenho experiência em subir apps na loja da Google e sei que o número de versionCode (build) não pode se repetir, conforme confirmado no curso.

Na aula anterior, o instrutor citou que não é bom incrementar o versionCode(build) até chegar a um numero muito alto, por exemplo: "1.1.1+1000000 "

O cálculo apresentado no curso altera o versionCode(build) para um numero bem mais alto. Por exemplo, se minha versão for "1.1.1+1", o cálculo a transforma em ".1.1.1+110101". Então mesmo assim, o versionCode continua um numero muito grande e ainda pode se repetir, e a loja da Google não aceitaria.

Além disso, o instrutor mencionou que esse cálculo visa automatizar o versionamento como no iOS. No iOS, a versionCode (build) é incrementada automaticamente ao manter a mesma versionName, e volta para "1" ao mudar a versionName.

No entanto, o cálculo não está funcionando dessa forma e, mesmo que funcionasse, a Google não aceitaria a repetição do versionCode (build) ao alterar o versionName.

1 resposta

Olá Rafael! Tudo bem?

Eu entendo sua preocupação com o versionCode no Android, especialmente quando se trata de automação de versionamento. A Google Play Store realmente exige que cada versionCode seja único para cada atualização de um aplicativo, e é importante garantir que não haja repetições.

O cálculo apresentado na aula visa criar um versionCode único baseado em uma combinação de major, minor, patch e buildNumber. No entanto, é crucial garantir que o versionCode gerado não ultrapasse o limite de 2100000000, que é o máximo permitido pelo Google Play.

Se o cálculo atual ainda está gerando números muito altos ou repetidos, você pode considerar ajustar os multiplicadores usados no cálculo. Por exemplo, ao invés de multiplicar o major por 100000, você pode usar um valor menor, desde que ainda garanta a unicidade do versionCode. Por exemplo:

def calculatedBuildVersion = major.toInteger() * 10000 + minor.toInteger() * 1000 + patch.toInteger() * 100 + buildNumber

Com essa fórmula, você reduz o impacto do major no versionCode, o que pode ajudar a evitar números excessivamente altos.

Além disso, para evitar repetições, é importante que o buildNumber seja sempre incrementado a cada nova build, mesmo que o versionName não mude. Isso pode ser feito manualmente ou integrando um sistema de controle de versão que incremente automaticamente o buildNumber.

Espero que essas dicas ajudem a resolver seu problema com o versionCode.

Conte com o apoio do fórum! Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!