DEV Community

Felipe Moreno Borges
Felipe Moreno Borges

Posted on

Version Name x Version Code no Android

Ao publicar um aplicativo na Play Store é obrigatório o uso de versionamento. Já que o projeto se encontra no dispositivo do usuário, caso ocorra alguma falha, nós como desenvolvedores podemos pedir a versão do aplicativo para o usuário e verificar as mudanças que foram feitas naquela versão e corrigi-la.

Para definir a versão, nós podemos ir em build.gradle (o do módulo) e lá encontraremos:

defaultConfig {
       //Código acima omitido...
       versionCode 1
       versionName "1.0.0"
             //Código abaixo omitido...
    }
Enter fullscreen mode Exit fullscreen mode

Aqui nós podemos ver duas configurações relacionadas a versão do app e nós sempre precisamos definir valores pra ambos, versionCodee versionName . Mas o que esses valores querem dizer? E por que tem dois?

Version Code

Um número positivo que usamos pra definir se uma versão é maior que outra versão. Quanto maior o número, mais recente é a versão. Esse número não é mostrado (e nem deveria ser) para os usuários. Nós definimos ele usando o versionCode . Você é livre pra definir qualquer valor pra ele, desde que o número seja maior que a versão antecessora. Você não consegue instalar uma versão menor do que a que já estiver no dispositivo e também não pode fazer upload pra Play Store de uma versão que já tenha sido usada.

Version Name

A versionName é a versão que é mostrada aos usuários. Pode ser tanto uma uma string diretamente ou uma referência pra uma string. Esse atributo não tem outra função que não seja ser mostrada para o usuário. Uma recomendação é o uso do versionamento semântico.

Bônus: Play Console version

Ao fazermos upload de uma nova versão no Google Play Console, também é necessário informar um nome pra versão. Esse nome não é mostrado para os usuários. Apenas é usado dentro da própria plataforma. Com essa versão, fica mais fácil de identificar em qual passo essa versão está (teste interno, teste aberto, produção, etc). Uma recomendação é que você use o mesmo valor que foi usado no versionName.

Screen Shot 2021-06-17 at 23.34.02

Referências:

Versioning mobile app releases like a pro

Semantic Versioning 2.0.0

Discussion (0)