Android Manifest의 versionCode와 versionName


223

버전 코드 = 2 및 버전 이름 = 1.1 인 Android 마켓에서 내 앱을 사용했습니다.

그러나 오늘 업데이트하는 동안 매니페스트에서 버전 코드 = 3을 변경했지만 실수로 버전 이름을 1.0.1로 변경하고 APK를 시장에 업로드했습니다.

이제 내 앱 사용자가 휴대 전화에서 업데이트 알림을 받습니까? 아니면 다시 프로세스를 다시해야합니까?


1
그것은 당신을 도울 것입니다이 링크를 시도하십시오 .. " developer.android.com/tools/publishing/...을 "
MPG

버전 코드가 증가함에 따라 그들은해야합니다. 이론적으로 업데이터 마커로 사용되는 것은 무엇입니까?
수퍼 유저

@ user838522 가장 투표 한 답변을 선택된 답변으로 표시 하시겠습니까?
xarlymg89

@ CarlosAlbertoMartínezGadea : user838522은 2013 년에 마지막으로 보았습니다
serv-inc

답변:


610

참조 링크

android : versionCode

내부 버전 번호 이 숫자는 한 버전이 다른 버전보다 최신 버전인지 확인하는 데만 사용되며 숫자가 높을수록 최신 버전을 나타냅니다. 이것은 사용자에게 표시되는 버전 번호가 아닙니다. 해당 번호는 versionName 속성으로 설정됩니다. 값은 "100"과 같은 정수로 설정해야합니다. 각 후속 버전의 번호가 더 높은 한 원하는대로 정의 할 수 있습니다. [...]

android : 버전 이름

사용자에게 표시되는 버전 이름입니다. 이 속성은 원시 문자열 또는 문자열 리소스에 대한 참조로 설정할 수 있습니다. 문자열은 사용자에게 표시되는 것 이외의 다른 목적이 없습니다. versionCode 속성은 내부적으로 사용 된 유효 버전 번호를 보유합니다.

versionName이 사용자에게 표시되는 것임이 분명하다는 것을 알면 versionCode가 중요합니다. 계속 늘리면 모든 것이 좋을 것입니다.


1
그것은 둘 사이에 수학적 관계가 없음을 의미합니다. 그렇습니까?
Vinil Chandran

즉 설명 침묵 동일한 버전 것으로 보인다 업데이트를.
E. Sundin

11
메모 추가 만 : Google Play에서 versionCode에 허용하는 최대 값은 2100000000
Atul

1
Play 스토어에서 업데이트 된 버전과 이전 버전의 앱 간의 버전 코드 차이를 1로 유지해야합니까?
Sivaram Boina

@sivaram 아니오. 전혀 아닙니다.
알 수 없음

30

단계를 되돌릴 필요가 없습니다. VersionCode를 늘리면 응용 프로그램이 이미 업그레이드되었음을 의미합니다. VersionName은 사용자 가독성을 위해 사용자에게 제공되는 문자열입니다. Google Play는 VersionName에 따라 아무 조치도 취하지 않습니다.



6

주제에 관해 찾을 수있는 유일한 문서에 대한 해석을 해 드리겠습니다.

"예 : 업그레이드 또는 다운 그레이드 관계를 확인하십시오." <-앱을 다운 그레이드 할 수 있습니다.

"애플리케이션의 각 후속 릴리스에서 더 큰 값을 사용해야합니다. 시스템은이 동작을 강제하지 않습니다"<-숫자는 실제로 증가해야하지만 여전히 앱을 다운 그레이드 할 수 있습니다.

android : versionCode — 다른 버전과 비교하여 응용 프로그램 코드의 버전을 나타내는 정수 값입니다. 값은 정수이므로 다른 응용 프로그램에서 프로그래밍 방식으로 평가할 수 있습니다 (예 : 업그레이드 또는 다운 그레이드 관계 확인). 원하는 정수로 값을 설정할 수 있지만 응용 프로그램의 각 후속 릴리스에서 더 큰 값을 사용해야합니다. 시스템은이 동작을 강제하지 않지만 연속 릴리스로 가치를 높이는 것은 표준입니다. 일반적으로 versionCode가 1로 설정된 응용 프로그램의 첫 번째 버전을 릴리스 한 다음 릴리스가 주 릴리스인지 부 릴리스인지에 관계없이 각 릴리스의 값을 단조롭게 증가시킵니다. 이것은 안드로이드가 의미합니다 : versionCode 값이 사용자에게 표시되는 애플리케이션 릴리스 버전과 반드시 ​​유사하지는 않습니다 (아래 android : versionName 참조). 응용 프로그램 및 게시 서비스는이 버전 값을 사용자에게 표시해서는 안됩니다.


2
이걸 그냥 맡겨도 될까요? 안드로이드 시스템은 버전 번호 대신 버전 코드를 기반으로 앱 업데이트를 확인한다고 생각하기 때문입니다. 틀 렸으면 말해줘.
user838522

5

android : versionCode — 다른 버전과 비교하여 응용 프로그램 코드의 버전을 나타내는 정수 값입니다.

값은 정수이므로 다른 응용 프로그램에서 프로그래밍 방식으로 평가할 수 있습니다 (예 : 업그레이드 또는 다운 그레이드 관계 확인). 값을 원하는 정수로 설정할 수 있지만 응용 프로그램의 각 후속 릴리스에서 더 큰 값을 사용해야합니다. 시스템은이 동작을 강제하지 않지만 연속 릴리스로 가치를 높이는 것은 표준입니다.

android : versionName — 사용자에게 표시되어야하는 응용 프로그램 코드의 릴리스 버전을 나타내는 문자열 값입니다.

이 값은 응용 프로그램 버전을 .. 문자열 또는 다른 유형의 절대 또는 상대 버전 식별자로 설명 할 수있는 문자열입니다.

android : versionCode와 마찬가지로 시스템은 애플리케이션이 사용자에게 값을 표시 할 수 있도록하는 것 외에 다른 목적으로이 값을 사용하지 않습니다. 게시 서비스는 사용자에게 표시하기 위해 android : versionName 값을 추출 할 수도 있습니다.

일반적으로 versionCode가 1로 설정된 응용 프로그램의 첫 번째 버전을 릴리스 한 다음 릴리스가 주 릴리스인지 부 릴리스인지에 관계없이 각 릴리스의 값을 단조롭게 증가시킵니다. 이는 android : versionCode 값이 사용자에게 표시되는 애플리케이션 릴리스 버전과 반드시 ​​유사 할 필요는 없음을 의미합니다 (아래 android : versionName 참조). 응용 프로그램 및 게시 서비스는이 버전 값을 사용자에게 표시해서는 안됩니다.


5

실제로 versionName이 아닌 versionCode를 기반으로합니다. 그러나 AndroidManifest.xml에서 versionCode를 변경하는 것만으로는 Android Studio-Gradle 빌드 시스템으로는 충분하지 않습니다. build.gradle에서 변경해야했습니다.


5

버전 코드는 코드의 버전을 나타내며, Android OS는이 코드가 이전 코드인지 새 코드인지이 변수를 사용하여 업데이트를 확인합니다.

버전 이름 형식으로 버전의 이름 을 나타냅니다.

(주요). (부). (점)

읽을 수있는 문자열에만 사용되는 문자열, 기능적으로 버전 코드는 OS에서 사용되었습니다.


4

버전 코드 -다른 버전 코드와 비교하는 데 사용되는 양의 정수입니다. 사용자에게 표시되지 않으며 단지 기록을위한 것입니다. 원하는 정수로 설정할 수 있지만 연속 버전에서는 선형으로 증가시키는 것이 좋습니다.

버전 이름 -사용자가 본 버전 문자열입니다. 내부 비교 또는 다른 용도로는 사용되지 않으며 사용자가 볼 수 있습니다.

예를 들어 앱을 릴리스한다고 가정하면 초기 versionCode는 1이고 versionName도 1 일 수 있습니다. 앱을 약간 변경하고 업데이트를 게시하려면 versionName을 "1.1"(변경 사항 이후)으로 설정합니다 버전 코드는 논리적으로 2 여야합니다 (변경 크기에 관계없이).

다른 조건에서 완전히 개정 된 버전의 앱을 출시한다고 가정하면 versionCode 및 versionName을 "2"로 설정할 수 있습니다.

희망이 도움이됩니다.

자세한 내용은 여기를 참조하십시오


0

버전 번호 MAJOR.MINOR.PATCH가 주어지면 다음을 증가 시키십시오.


  • 호환되지 않는 API 변경을 할 때 주요 버전,
  • 이전 버전과 호환되는 방식으로 기능을 추가 할 때 마이너 버전
  • 이전 버전과 호환되는 버그 수정을 할 때 PATCH 버전.

버전 코드 및 버전 이름

아시다시피, 안드로이드에서는 앱의 버전 코드 (android : versionCode)와 버전 이름 (android : versionName)의 두 가지 버전 필드를 정의해야합니다. 버전 코드는 애플리케이션 코드의 버전을 나타내는 증분 정수 값입니다. 버전 이름은 사용자에게 표시되는 "친숙한"버전 이름을 나타내는 문자열 값입니다.


0

Tanoh대답 은 약간의 설명을 사용할 수 있습니다. VersionCode는 빌드 번호와 같습니다. 따라서 일반적으로 앱은 출시 전에 여러 번 반복됩니다. 이러한 반복 중 일부는 알파, 베타 및 실제 출시 형식으로 Google Play 스토어에 제공 될 수 있습니다. 연속되는 각 반복에는 증분 된 versionCode가 있어야합니다. 그러나 일반적으로 공개 릴리스 간에는 versionName 만 증가시킵니다. 두 숫자 모두 중요합니다. 사용자는 휴대 전화에있는 버전이 최신 버전인지 (versionName), Bitrise와 같은 Play Store 및 CI 시스템이 빌드 번호 (versionCode)에 의존하거나 업데이트 하는지를 알아야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.