web-dev-qa-db-ja.com

Google Playでアプリを更新できません

すでに大規模な検索を行っており、Google PlayでProdアプリを更新できない理由がわかりません。彼らのエラーメッセージは私にはあまり意味がありません、実際私は彼らがそれを受け入れない理由を実際には理解していません。

これはエラーメッセージです。

This configuration cannot be published for the following reason(s):
It is forbidden to downgrade devices which previously used M permissions (target SDK 23 and above) to APKs which use old style permissions (target SDK 22 and below). This occurs in the change from version 178 (target SDK 23) to version 2008 (target SDK 22).
It is forbidden to downgrade devices which previously used M permissions (target SDK 23 and above) to APKs which use old style permissions (target SDK 22 and below). This occurs in the change from version 178 (target SDK 23) to version 2008 (target SDK 22).
It is forbidden to downgrade devices which previously used M permissions (target SDK 23 and above) to APKs which use old style permissions (target SDK 22 and below). This occurs in the change from version 178 (target SDK 23) to version 2008 (target SDK 22).
It is forbidden to downgrade devices which previously used M permissions (target SDK 23 and above) to APKs which use old style permissions (target SDK 22 and below). This occurs in the change from version 178 (target SDK 23) to version 2008 (target SDK 22).

そして、これはそのプリントです: enter image description here

最初のビルド0.1はbuild.phonegap.comを使用して作成され、2番目のビルド(0.2)は結果が優れているため、CLIを使用してローカルにリリースされました。

誰かがそれについていくつかの手がかりを持っていますか?

読んでくれてありがとう。

13
PedroGabriel

これは、新しいビルドのtargetSdkVersion(22)がマニフェストの現在のライブビルド(23)よりも低いためです。

<uses-sdk Android:targetSdkVersion="22" />

targetSdkVersion 23はAndroid 6+の場合、権限を管理する新しい方法があります: http://developer.Android.com/training/permissions/requesting.html

したがって、Android 6+を使用している現在のライブユーザーは新しい許可システムを使用しており、Googleがこれらのユーザーを古い許可システムがあるtargetSdkVersion 22にダウングレードすることは問題のようです。

修正するには、新しいビルドを更新してtargetSdkVersion 23を使用する必要があります。

<uses-sdk Android:targetSdkVersion="23" />

新しい許可システムを管理するようにしてください。

13
Stéphane

Xamarinを使用している場合、このエラーが発生し、ターゲットSDKのダウングレードを試みていません。

サポートされているABIを変更すると、Google Playでこのエラーが表示されるようです。最近、armeabi-v7aとx86を使用してビルドされたビルドをベータ版に公開しました。次のビルドでは、x86は不要なので削除しましたが、上記のエラーが発生しました。したがって、現時点では、Google Playは作成したプラットフォームの削除をサポートしていないようです。

11
Andres Castro

ゲームに遅れましたが、最近Xamarinクライアントでこれをよく見ています。

Andreasの優れた点に加えて、Xamarinを使用している人たちのもう1つの可能性は、以前に明示的なビルドターゲットを23以上に設定していて、その後自動に戻した可能性があることです。

Xamarinは、自動を使用する場合にマニフェストに<uses-sdk />を配置します。これにより、明示的なターゲットを使用したAPKを置き換えると、上記のようなエラーメッセージが表示されますが、ターゲットSDK 0への変更が報告されます。これは、自動ターゲットが等しいか既存のSDKよりも高い。

これを解決するには、23以上の明示的なターゲットを設定します

10
Garry Whittaker

これも私にとって大きな問題になっています。 Api23をターゲットとするAPKをテストしましたが、23をターゲットにするとアプリに問題が発生し、より低いApiに戻ってしまい、23によって引き起こされた問題を含めないとアプリを更新できません。

ここの誰かがAlphaでテストすることによって問題を解決したと主張していますが、それは私にとってはうまくいきません: https://groups.google.com/d/msg/Android-developers/dpK2XO025kQ/ciD_X4SoCQAJ

編集:私はGoogleサポートに話しました、そしてこれは彼らが今提案していることです:この問題であなたができることはAPK設定で「ベータテストを無効にする」を押すことです。これにより、この問題が解決されます。以前のAPIバージョンに戻ることができるはずです。

私のベータテストが無効にすることを拒否しているので、私はこれまでのところ運がありません。そこで、アプリをApi 23に適切に適合させるように取り組んでいます。

これは明らかにGoogleからの悪い動きです。簡単に言えば、このポリシーでは、機能をベータ版でテストし、テストが失敗した場合でも、システムはそれを本番環境に実装することを強制します。それは悪い習慣ではありませんか?

5
Kajuna

変更Target Android Version自動使用ターゲットフレームワーク->オーバーライド-Android xx。