버전 코드 = 2 및 버전 이름 = 1.1 인 Android 마켓에서 내 앱을 사용했습니다.
그러나 오늘 업데이트하는 동안 매니페스트에서 버전 코드 = 3을 변경했지만 실수로 버전 이름을 1.0.1로 변경하고 APK를 시장에 업로드했습니다.
이제 내 앱 사용자가 휴대 전화에서 업데이트 알림을 받습니까? 아니면 다시 프로세스를 다시해야합니까?
버전 코드 = 2 및 버전 이름 = 1.1 인 Android 마켓에서 내 앱을 사용했습니다.
그러나 오늘 업데이트하는 동안 매니페스트에서 버전 코드 = 3을 변경했지만 실수로 버전 이름을 1.0.1로 변경하고 APK를 시장에 업로드했습니다.
이제 내 앱 사용자가 휴대 전화에서 업데이트 알림을 받습니까? 아니면 다시 프로세스를 다시해야합니까?
답변:
내부 버전 번호 이 숫자는 한 버전이 다른 버전보다 최신 버전인지 확인하는 데만 사용되며 숫자가 높을수록 최신 버전을 나타냅니다. 이것은 사용자에게 표시되는 버전 번호가 아닙니다. 해당 번호는 versionName 속성으로 설정됩니다. 값은 "100"과 같은 정수로 설정해야합니다. 각 후속 버전의 번호가 더 높은 한 원하는대로 정의 할 수 있습니다. [...]
사용자에게 표시되는 버전 이름입니다. 이 속성은 원시 문자열 또는 문자열 리소스에 대한 참조로 설정할 수 있습니다. 문자열은 사용자에게 표시되는 것 이외의 다른 목적이 없습니다. versionCode 속성은 내부적으로 사용 된 유효 버전 번호를 보유합니다.
versionName이 사용자에게 표시되는 것임이 분명하다는 것을 알면 versionCode가 중요합니다. 계속 늘리면 모든 것이 좋을 것입니다.
단계를 되돌릴 필요가 없습니다. VersionCode를 늘리면 응용 프로그램이 이미 업그레이드되었음을 의미합니다. VersionName은 사용자 가독성을 위해 사용자에게 제공되는 문자열입니다. Google Play는 VersionName에 따라 아무 조치도 취하지 않습니다.
버전 코드 는 Google Play 스토어에서 새 업데이트에 사용됩니다. 그리고 버전 이름 이 사용자에게 표시됩니다. 버전 코드 를 늘리면 모든 사용자가 업데이트를 볼 수 있습니다.
자세한 내용은이 기사 https://developer.android.com/studio/publish/versioning.html 을 2 분 읽으십시오.
주제에 관해 찾을 수있는 유일한 문서에 대한 해석을 해 드리겠습니다.
"예 : 업그레이드 또는 다운 그레이드 관계를 확인하십시오." <-앱을 다운 그레이드 할 수 있습니다.
"애플리케이션의 각 후속 릴리스에서 더 큰 값을 사용해야합니다. 시스템은이 동작을 강제하지 않습니다"<-숫자는 실제로 증가해야하지만 여전히 앱을 다운 그레이드 할 수 있습니다.
android : versionCode — 다른 버전과 비교하여 응용 프로그램 코드의 버전을 나타내는 정수 값입니다. 값은 정수이므로 다른 응용 프로그램에서 프로그래밍 방식으로 평가할 수 있습니다 (예 : 업그레이드 또는 다운 그레이드 관계 확인). 원하는 정수로 값을 설정할 수 있지만 응용 프로그램의 각 후속 릴리스에서 더 큰 값을 사용해야합니다. 시스템은이 동작을 강제하지 않지만 연속 릴리스로 가치를 높이는 것은 표준입니다. 일반적으로 versionCode가 1로 설정된 응용 프로그램의 첫 번째 버전을 릴리스 한 다음 릴리스가 주 릴리스인지 부 릴리스인지에 관계없이 각 릴리스의 값을 단조롭게 증가시킵니다. 이것은 안드로이드가 의미합니다 : versionCode 값이 사용자에게 표시되는 애플리케이션 릴리스 버전과 반드시 유사하지는 않습니다 (아래 android : versionName 참조). 응용 프로그램 및 게시 서비스는이 버전 값을 사용자에게 표시해서는 안됩니다.
android : versionCode — 다른 버전과 비교하여 응용 프로그램 코드의 버전을 나타내는 정수 값입니다.
값은 정수이므로 다른 응용 프로그램에서 프로그래밍 방식으로 평가할 수 있습니다 (예 : 업그레이드 또는 다운 그레이드 관계 확인). 값을 원하는 정수로 설정할 수 있지만 응용 프로그램의 각 후속 릴리스에서 더 큰 값을 사용해야합니다. 시스템은이 동작을 강제하지 않지만 연속 릴리스로 가치를 높이는 것은 표준입니다.
android : versionName — 사용자에게 표시되어야하는 응용 프로그램 코드의 릴리스 버전을 나타내는 문자열 값입니다.
이 값은 응용 프로그램 버전을 .. 문자열 또는 다른 유형의 절대 또는 상대 버전 식별자로 설명 할 수있는 문자열입니다.
android : versionCode와 마찬가지로 시스템은 애플리케이션이 사용자에게 값을 표시 할 수 있도록하는 것 외에 다른 목적으로이 값을 사용하지 않습니다. 게시 서비스는 사용자에게 표시하기 위해 android : versionName 값을 추출 할 수도 있습니다.
일반적으로 versionCode가 1로 설정된 응용 프로그램의 첫 번째 버전을 릴리스 한 다음 릴리스가 주 릴리스인지 부 릴리스인지에 관계없이 각 릴리스의 값을 단조롭게 증가시킵니다. 이는 android : versionCode 값이 사용자에게 표시되는 애플리케이션 릴리스 버전과 반드시 유사 할 필요는 없음을 의미합니다 (아래 android : versionName 참조). 응용 프로그램 및 게시 서비스는이 버전 값을 사용자에게 표시해서는 안됩니다.
버전 코드 -다른 버전 코드와 비교하는 데 사용되는 양의 정수입니다. 사용자에게 표시되지 않으며 단지 기록을위한 것입니다. 원하는 정수로 설정할 수 있지만 연속 버전에서는 선형으로 증가시키는 것이 좋습니다.
버전 이름 -사용자가 본 버전 문자열입니다. 내부 비교 또는 다른 용도로는 사용되지 않으며 사용자가 볼 수 있습니다.
예를 들어 앱을 릴리스한다고 가정하면 초기 versionCode는 1이고 versionName도 1 일 수 있습니다. 앱을 약간 변경하고 업데이트를 게시하려면 versionName을 "1.1"(변경 사항 이후)으로 설정합니다 버전 코드는 논리적으로 2 여야합니다 (변경 크기에 관계없이).
다른 조건에서 완전히 개정 된 버전의 앱을 출시한다고 가정하면 versionCode 및 versionName을 "2"로 설정할 수 있습니다.
희망이 도움이됩니다.
자세한 내용은 여기를 참조하십시오
버전 번호 MAJOR.MINOR.PATCH가 주어지면 다음을 증가 시키십시오.
아시다시피, 안드로이드에서는 앱의 버전 코드 (android : versionCode)와 버전 이름 (android : versionName)의 두 가지 버전 필드를 정의해야합니다. 버전 코드는 애플리케이션 코드의 버전을 나타내는 증분 정수 값입니다. 버전 이름은 사용자에게 표시되는 "친숙한"버전 이름을 나타내는 문자열 값입니다.
Tanoh 의 대답 은 약간의 설명을 사용할 수 있습니다. VersionCode는 빌드 번호와 같습니다. 따라서 일반적으로 앱은 출시 전에 여러 번 반복됩니다. 이러한 반복 중 일부는 알파, 베타 및 실제 출시 형식으로 Google Play 스토어에 제공 될 수 있습니다. 연속되는 각 반복에는 증분 된 versionCode가 있어야합니다. 그러나 일반적으로 공개 릴리스 간에는 versionName 만 증가시킵니다. 두 숫자 모두 중요합니다. 사용자는 휴대 전화에있는 버전이 최신 버전인지 (versionName), Bitrise와 같은 Play Store 및 CI 시스템이 빌드 번호 (versionCode)에 의존하거나 업데이트 하는지를 알아야합니다.