2013-03-23 24 views
45

Tôi nhận được lỗi này khi tải ứng dụng PhoneGap của tôi để Console Play Developer Google:Cách giải quyết "Mã phiên bản APK của bạn cần phải cao hơn 2." trong Bảng điều khiển dành cho nhà phát triển trên Google Play?

mã phiên bản APK của bạn cần phải được cao hơn 2.

Làm thế nào tôi có thể sửa lỗi này?

+0

Thật là một nhà phát triển lười biếng chúng tôi có những ngày này. Bạn đang xuất bản một gói ứng dụng và thậm chí không biết cơ bản? Vì chúa, đọc tài liệu Android, nó miễn phí! https://developer.android.com/studio/publish/versioning.html –

+0

Chúa vẫn tồn tại lâu, nhưng cuộc đình công cuối cùng –

Trả lời

7

Sử dụng aapt để xác minh phiên bản APK của bạn:

aapt dump badging myapp.apk 

Nó sẽ cho bạn biết để tăng versionCode trong AndroidManifest.xml, ví dụ

<manifest android:versionCode="3"> 
2

Tôi cho rằng bạn đã có phiên bản 2 được tải lên bảng điều khiển dành cho nhà phát triển của mình. Chỉ cần tăng mã phiên bản (lưu ý: KHÔNG phải tên phiên bản!) Thành 3, tạo lại APK của bạn và bạn vẫn ổn.

+5

Tôi không biết cách tăng mã phiên bản mà bảng điều khiển của Google đã hỏi tôi. Nếu không, tôi sẽ không hỏi câu hỏi này ở đây ... – guaka

3

Khi bạn đã sẵn sàng triển khai ứng dụng của mình lên APK, trong JDeveloper hãy đi tới Ứng dụng -> Triển khai -> Hồ sơ triển khai mới. Đặt Loại Cấu hình thành ADF Mobile cho Android, chọn tên và nhấp vào OK. Trong cửa sổ tiếp theo, chọn tùy chọn Android và thay đổi Mã phiên bản. Đó là những gì Google Play không thích (vì bạn đã có một ứng dụng có cùng mã phiên bản). Đó là cách tôi giải quyết vấn đề này.

1
appt dump badging myapp.apk 

Lệnh này hoạt động trong việc kiểm tra phiên bản apk được tạo. nhưng để lừa cũ cố định vấn đề này, ngay cả khi tôi tăng phiên bản. Cố gắng làm sạch không gian làm việc và xây dựng lại.

15

Tăng mã phiên bản tới 3 bằng cách thay đổi mã phiên bản trong AndroidManifest.xml của bạn:

<android xmlns:android="http://schemas.android.com/apk/res/android"> 
     <tool-api-level>10</tool-api-level> 
     <manifest android:versionCode="3" android:versionName="0.1.1" android:installLocation="preferExternal"/> 
     <uses-sdk android:maxSdkVersion="10" android:minSdkVersion="7" android:targetSdkVersion="10"/> 
</android> 
+3

trong ** Android Studio ** .5+ ... ** xem câu trả lời tiếp theo ** – Fattie

+0

khi tôi thay đổi nó thành lỗi này cung cấp cho tôi lỗi này Tải lên không thành công Bạn cần sử dụng mã phiên bản khác cho APK của mình vì bạn đã có mã phiên bản 3. –

3

Tôi có vấn đề này trong một thời gian và nó bối rối tôi. Tôi đã thử nhập lại dự án. Đưa dự án vào Android Studio từ Eclipse. Mọi điều. Và những gì tôi thấy để làm việc là bạn phải tăng mã phiên bản lên 1 giá trị. Bạn không phải thay đổi tên phiên bản. Và trước khi bạn xuất tệp APK. Đảm bảo bạn xây dựng dự án ít nhất một lần. Vì vậy, mã phiên bản mới được nhận ra.

70

Nếu bạn đang trực tiếp sử dụng Gradle, hoặc gián tiếp thông qua Android Studio:

tôi cố định nó bằng cách sửa số phiên bản bên trong các tập tin build.gradle! Có một biểu ngữ nhỏ ở cuối tệp android.manifest cho biết "những thay đổi này đang bị ghi đè bởi tệp build.gradle."

+4

Nếu bạn đang sử dụng Android Studio, hãy sử dụng câu trả lời này. – HighLife

+3

Bạn thậm chí có thể xóa 'versionCode' và' versionName' khỏi 'build.gradle'. Nếu bị xóa, AndroidStudio sẽ hoàn nguyên về 'AndroidManifest.xml' –

+1

@IvoRenkema nhận xét của bạn có thể là câu trả lời thực tế, tại sao bạn không trả lời? Lợi thế rõ ràng là chỉ cần nhớ cập nhật số phiên bản trong một tệp sau đó ... – Kev

2

Trong Android studio, tôi chỉ có thể làm việc này bằng cách thay đổi versionCode trong tệp ứng dụng.

android { 
    compileSdkVersion 19 
    buildToolsVersion '19.1.0' 
    defaultConfig { 
     applicationId 'xxxxxxxxxxxxxxx' 
     minSdkVersion 14 
     targetSdkVersion 19 
     versionCode 3 
     versionName '1.1' 
    } 
    buildTypes { 
     release { 
      runProguard false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
    productFlavors { 
    } 
} 
1

Giải pháp cho tôi là chỉnh sửa config.xml và thay đổi thuộc tính 'phiên bản'.

Tôi đã thử chỉnh sửa tệp AndroidManifest.xml của mình (mọi phiên bản tôi có thể tìm thấy) và đã thay đổi giá trị versionCode và versionName. Một số tệp AndroidManifest.xml đã bị ghi đè bằng các giá trị ban đầu, một số tệp không bị ghi đè. Bất kể, phiên bản apk vẫn còn ở '1'.

Tôi đã tìm trong tệp config.xml nhiều lần, nhưng không tồn tại cả versionCode và versionName trong đó.Cuối cùng tôi đã quyết định thay đổi giá trị 'phiên bản' trong config.xml, được xây dựng lại và gói ứng dụng của tôi hiện có số phiên bản mới, chính xác.

Trong config.xml:

Cũ 'phiên bản' bất động sản: "version=0.0.1"

mới 'phiên bản' bất động sản: "version=0.0.2"

Cần lưu ý rằng tôi không sử dụng Eclipse hoặc Android Studio .. chỉ là một trình soạn thảo văn bản và chạy bản dựng thủ công. Bây giờ khi tôi chạy

aapt bãi huy hiệu [tên apk]

tôi nhìn thấy một mã phiên bản cập nhật và tên phiên bản ... đặc biệt, điều này tôi thấy:

versionCode='2' versionName='0.0.2' 

... và tôi có thể bây giờ tải lên ứng dụng của tôi thành công lên cửa hàng Play một lần nữa.

3

Tôi thấy rằng nếu bạn đang sử dụng Android Studio, bạn cần phải cập nhật mã phiên bản trong tệp build.gradle. Ví dụ:

defaultConfig { 
    applicationId "app.myapp" 
    minSdkVersion 14 
    targetSdkVersion 20 
    versionCode 2 
    versionName "1.0.0" 
} 

...

+0

Đây là những gì đã làm việc cho tôi, không có đề xuất nào khác đã làm. Upvoted, và cảm ơn câu trả lời của bạn! – Kreg

24

enter image description here

Xin xem chụp kèm theo của Android Studio mà nên giúp đỡ.

+5

'versionCode' phải tăng ít nhất là 1, tuy nhiên' versionName' có thể tăng thêm 0,1 (hoặc bất kỳ điều gì khác) vì đó là những gì người dùng cuối thấy. – Micro

+3

Trên thực tế, versionName thậm chí không phải tăng, nếu bạn không muốn. – Kev

6

Đã cùng một vấn đề và giải quyết nó bằng cách thay đổi các giá trị sau đây trong tập tin build.gradle trong Module: app

defaultConfig { 
     applicationId //app package goes here 
     minSdkVersion 10 
     targetSdkVersion 21 
     **versionCode 2 
     versionName "1.1"** 
     signingConfig //name of keystore goes here 
    } 

Đây là cách Android Studio theo dõi những phiên bản cho mỗi ứng dụng.

Ngoài ra, đối với các noobs, bạn có thể truy cập các cài đặt này bằng cách nhấp vào cài đặt của ứng dụng và điều hướng đến tab Hương vị. Ở đó bạn có thể sửa đổi các thiết lập nhất định như versionCode và versionName.

Hy vọng điều này sẽ giúp ích:

0

Đối với ứng dụng được xây dựng Cordova của tôi, tệp Gradle không có mã tĩnh. Nó được chọn sử dụng Android Manifest như thế này -

defaultConfig { 
versionCode cdvVersionCode ?: Integer.parseInt("" + privateHelpers.extractIntFromManifest("versionCode") + "0") 
applicationId privateHelpers.extractStringFromManifest("package") 

if (cdvMinSdkVersion != null) { 
    minSdkVersion cdvMinSdkVersion 
} 

}

tôi đã cố gắng thay đổi mã phiên bản trong file manifest, nhưng không có may mắn.

Không phải là một điều tốt để làm, nhưng ra khỏi vội vàng Tôi đã làm điều này -

defaultConfig { 
versionCode cdvVersionCode ?: (Integer.parseInt("" + privateHelpers.extractIntFromManifest("versionCode") + "0") + 2) 
applicationId privateHelpers.extractStringFromManifest("package") 

if (cdvMinSdkVersion != null) { 
    minSdkVersion cdvMinSdkVersion 
} 

}

Lưu ý: Đối với Cordova xây dựng ứng dụng, bạn cần phải thực hiện những thay đổi trong Gradle Scripts> File đó nói - "build.gradle (Mô-đun: android)"

2

Mọi người ở Android và người dùng của bạn cần theo dõi tất cả các bản cập nhật, vì vậy bạn cần phải đề cập đến phiên bản bằng cách cập nhật versionCode và versionName

Dưới đây là làm thế nào để khắc phục vấn đề:

ĐẦU

defaultConfig { 
    applicationId "com.example.random.projectname" 
    minSdkVersion 15 
    targetSdkVersion 24 
    versionCode 1 
    versionName "1.0" 
} 

VỚI DOANH NGHIỆP

defaultConfig { 
    applicationId "com.example.random.projectname" 
    minSdkVersion 15 
    targetSdkVersion 24 
    versionCode 2 
    versionName "1.0.1" 
} 

Ghi

  • tên phiên bản là những gì được hiển thị ở phía dưới của Long Mô tả cho người dùng của ứng dụng
  • Trong khi mã phiên là dành cho nhà phát triển và nhu cầu của google và phải được tăng lên bởi một luôn cho mỗi tên phiên bản mới ngay cả khi bạn thay đổi tên phiên bản từ v1.0.5 để v1.0.6
+1

điều gì đã thay đổi giữa trước và bây giờ? Trông giống với tôi. –

+0

Rất tiếc, tôi vừa cập nhật nó. Cảm ơn bạn. –

Các vấn đề liên quan