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?

user838522
fonte
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.

Tanoh
fonte
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.


fonte
9

O código da versão é usado pela google play store para nova atualização. E o nome da versão é exibido para o usuário. Se você aumentou o código da versão , a atualização será visível para todos os usuários.

Para informações mais detalhadas, você deve ler 2 minutos neste artigo https://developer.android.com/studio/publish/versioning.html

dev.sourabh
fonte
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.

Braden
fonte
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.

krishan kumar Sharma
fonte
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.

Chaitanya
fonte
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.

Rahul Jain
fonte
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

Krishnakeshan
fonte
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.

Praful Patel
fonte
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)

Fuad Kamal
fonte