versionCode vs versionName no manifesto do Android


223

Eu tive meu aplicativo no Android Market com o código da versão = 2 e o nome da versão = 1.1

No entanto, ao atualizá-lo hoje, alterei o código da versão = 3 no manifesto, mas, por engano, alterei o nome da minha versão para 1.0.1 e carreguei o apk no mercado.

Agora, os usuários do meu aplicativo receberão uma notificação de atualização em seus telefones ou não? Ou devo refazer o processo novamente?


1
tente este link, ele irá ajudá-lo .. " developer.android.com/tools/publishing/… "
MPG

Eles devem, conforme você aumentou o código da versão. Que, em teoria, é o usado como marcador de atualização.
SuperUser

@ user838522 você poderia marcar a resposta mais votada como a resposta selecionada?
xarlymg89

@ CarlosAlbertoMartínezGadea: user838522 foi visto pela última vez em 2013
serv-inc

Respostas:


610

Link de referência

android: versionCode

Um número de versão interno. Esse número é usado apenas para determinar se uma versão é mais recente que outra, com números mais altos indicando versões mais recentes. Este não é o número da versão mostrado aos usuários; esse número é definido pelo atributo versionName. O valor deve ser definido como um número inteiro, como "100". Você pode defini-lo como quiser, desde que cada versão sucessiva tenha um número maior. [...]

android: versionName

O nome da versão mostrada aos usuários. Este atributo pode ser definido como uma sequência bruta ou como uma referência a um recurso de sequência. A sequência não tem outro propósito além de ser exibida aos usuários. O atributo versionCode contém o número significativo da versão usada internamente.

Lendo que é bastante claro que versionName é apenas algo que é mostrado ao usuário, versionCode é o que importa. Continue aumentando e tudo deve ser bom.


1
Isso significa que não há relação matemática entre ambos. É isso?
Vinil Chandran 14/03

Isso explica as atualizações silenciosas, que parecem ter a mesma versão.
283 Sundin E. E.

11
Apenas para adicionar uma observação: o maior valor que o Google Play permite para versionCode é 2100000000
Atul

1
É obrigatório manter a diferença do código de versão entre o vesrion atualizado e a versão anterior do aplicativo na loja de jogos como 1?
Sivaram Boina 06/02

@sivaram No. De maneira alguma.
Unknown

30

Não precisa reverter seus passos. Conforme você aumentou seu VersionCode, isso significa que seu aplicativo já foi atualizado. O VersionName é apenas uma string que é apresentada ao usuário para facilitar a leitura do usuário. O Google play não executa nenhuma ação, dependendo do VersionName.



6

Vou lhe dar minha interpretação da única documentação que posso encontrar sobre o assunto.

"por exemplo, para verificar uma relação de atualização ou downgrade." <- Você pode fazer o downgrade de um aplicativo.

"você deve garantir que cada versão sucessiva de seu aplicativo use um valor maior. O sistema não impõe esse comportamento" <- O número realmente deve aumentar, mas você ainda pode fazer o downgrade de um aplicativo.

android: versionCode - Um valor inteiro que representa a versão do código do aplicativo, em relação a outras versões. O valor é um número inteiro para que outros aplicativos possam avaliá-lo programaticamente, por exemplo, para verificar um relacionamento de atualização ou downgrade. Você pode definir o valor para qualquer número inteiro que desejar, mas certifique-se de que cada versão sucessiva do seu aplicativo use um valor maior. O sistema não impõe esse comportamento, mas aumentar o valor com versões sucessivas é normativo. Normalmente, você lançaria a primeira versão do seu aplicativo com o versionCode definido como 1 e, em seguida, aumentaria monotonicamente o valor a cada lançamento, independentemente de o lançamento constituir um lançamento maior ou menor. Isso significa que o android: O valor versionCode não tem necessariamente uma forte semelhança com a versão do release do aplicativo que é visível para o usuário (consulte android: versionName, abaixo). Os aplicativos e serviços de publicação não devem exibir esse valor de versão para os usuários.


2
Então, posso deixar assim? Porque acho que o sistema Android verifica atualizações de aplicativos com base no código da versão, e não no número da versão. Corrija-me se eu estiver errado.
User838522

5

android: versionCode - Um valor inteiro que representa a versão do código do aplicativo, em relação a outras versões.

O valor é um número inteiro para que outros aplicativos possam avaliá-lo programaticamente, por exemplo, para verificar um relacionamento de atualização ou downgrade. Você pode definir o valor para qualquer número inteiro que desejar, mas certifique-se de que cada versão sucessiva do seu aplicativo use um valor maior. O sistema não impõe esse comportamento, mas aumentar o valor com versões sucessivas é normativo.

android: versionName - Um valor de sequência que representa a versão de lançamento do código do aplicativo, como deve ser mostrado aos usuários.

O valor é uma sequência para que você possa descrever a versão do aplicativo como uma sequência .. ou como qualquer outro tipo de identificador de versão absoluto ou relativo.

Como no android: versionCode, o sistema não usa esse valor para nenhum propósito interno, exceto para permitir que os aplicativos o exibam aos usuários. Os serviços de publicação também podem extrair o valor android: versionName para exibição aos usuários.

Normalmente, você lançaria a primeira versão do seu aplicativo com o versionCode definido como 1 e, em seguida, aumentaria monotonicamente o valor a cada lançamento, independentemente de o lançamento constituir um lançamento maior ou menor. Isso significa que o valor android: versionCode não tem necessariamente uma forte semelhança com a versão do aplicativo visível para o usuário (consulte android: versionName, abaixo). Os aplicativos e serviços de publicação não devem exibir esse valor de versão para os usuários.


5

É realmente baseado em versionCode e não em versionName. No entanto, notei que alterar o versionCode no AndroidManifest.xml não era suficiente com o sistema de compilação Android Studio - Gradle. Eu precisava alterá-lo no build.gradle.


5

Código da versão Representa a versão do seu código, o sistema operacional Android verifica se há atualização usando essa variável, seja esse código antigo ou novo.

Nome da versão Representa o nome da versão no formato

(Maior). (Menor). (Ponto)

String, usada apenas para string legível, o código de versão funcional foi usado pelo SO.


5

Código da versão - é um número inteiro positivo usado para comparação com outros códigos de versão. Não é mostrado ao usuário, é apenas para manter um registro. Você pode configurá-lo para qualquer número inteiro que desejar, mas é sugerido que você o incremente linearmente para versões sucessivas.

Nome da versão - esta é a cadeia de versão vista pelo usuário. Não é usado para comparações internas nem nada, é apenas para os usuários verem.

Por exemplo : Digamos que você libere um aplicativo, seu versionCode inicial pode ser 1 e versionName também pode ser 1. Depois de fazer algumas pequenas alterações no aplicativo e desejar publicar uma atualização, você definiria versionName como "1.1" (desde as alterações não são importantes) enquanto, logicamente, seu versionCode deve ser 2 (independentemente do tamanho das alterações).

Digamos que em outra condição você libere uma versão completamente renovada do seu aplicativo, você pode definir versionCode e versionName como "2".

Espero que ajude.

Você pode ler mais sobre isso aqui


0

Dado um número de versão MAJOR.MINOR.PATCH, aumente o:


  • Versão MAJOR quando você faz alterações incompatíveis da API,
  • Versão MENOR quando você adiciona funcionalidade de maneira compatível com versões anteriores e
  • PATCH versão quando você faz correções compatíveis com versões anteriores.

Código da versão e nome da versão

Como você deve saber, no Android, é necessário definir dois campos de versão para um aplicativo: o código da versão (android: versionCode) e o nome da versão (android: versionName). O código da versão é um valor inteiro incremental que representa a versão do código do aplicativo. O nome da versão é um valor de sequência que representa o nome da versão "amigável" exibido aos usuários.


0

A resposta de Tanoh pode ser esclarecedora. VersionCode é o equivalente a um número de compilação. Normalmente, um aplicativo passa por várias iterações antes do lançamento. Algumas dessas iterações podem chegar à loja do Google Play na forma de versões alfa, beta e real. Cada iteração sucessiva deve ter um versionCode incrementado. No entanto, normalmente você aumenta apenas o versionName entre liberações públicas. Ambos os números são significativos. Seus usuários precisam saber se a versão que eles têm no telefone é a mais recente ou não (versionName) e os sistemas Play Store e CI, como a taxa de bits, dependem e / ou atualizam o número da versão (versionCode)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.