PlayStoreに既存のアプリがあります。アプリの新しいバージョンをstaged rolloutとしてリリースしています。ただし、「Fully Shadowed APK」エラーのため、アプリを公開できません。
これまでのところ、このエラーを解決する方法に関するドキュメントは見つかりませんでした。他の誰かがこれに直面しましたか?
更新:-この問題に関して、Google Playコンソールチームと協力しているGoogle社員と話をしました。当時私が持っていた誤解の1つは、段階的な公開を行うにはAPKを保持する必要があるというものでした。私は彼とこれについて議論し、彼はそれが必要ではないことを明確にした。 APKが保持されていない段階的な公開でも、Google Playはアプリのページにアクセスしたユーザーにインストールオプションを表示します。これにより、同様の問題に直面している人に対する疑念が解消されることを願っています。
私は同じ問題を抱えていたので、以前のバージョンの「保持」をクリックせずに修正し、新しいバージョンをアップロードしてから、「ローリング開始」ボタンをクリックして完了しました!! ^ _ ^
Playコンソールにはバグがあるため、動作しません。これは回避策です。
たとえば、次の2つのバージョンがあるとします。
次にこれを行います:
注:このソリューションは、将来機能しない場合に投稿された時間に機能します。時間とともに状況が変化するため、間違っているとは思わないでください。
私のために機能する新しいAPKをアップロードするときに、以前のバージョンを無効にする必要があります。以前のバージョンを非アクティブ化し、新しいAPKをアップロードして、実稼働用に展開するだけです。
私にとっては、次のように機能しました:
特定の条件下では、Google Playは非アクティブ化と公開を同時に処理できないようです。
まったく同じ問題があり、config.xmlで次のversionCodeエントリを使用して解決しました。
<widget id="io.cordova.hellocordova"
version="3.1.1"
Android-versionCode="3001001"
ここでAndroid-versionCodeは重要です。整数である必要がありますより大きいアップロードした最後のAPKに関連付けられた番号。なんらかの理由により、以前のバージョンでは、気付かずに大きな数字を作成する間に追加のゼロがありました。公開されているため変更できないので、新しいversionCodeにゼロを追加し、300101ではなく3001001にしました。
完璧に働きました。
お役に立てば幸いです。
ここで同じ問題が発生しました。おそらく、新しいリリースマネージャーによってもたらされた問題です。
以前のリリース(すでにprodに含まれているもの)は、どういうわけかアルファ版で立ち往生していて、新しいリリースが公開されないように感じます。
Googleサポートに連絡して解決を待っています(ダウンロード数が2,500万回を超えるアプリで働いています。この問題は本当に深刻な問題です。Googleがすぐに解決してくれることを願っています)
それまでの間、ベータチャネルは使用しなかったため、ベータチャネルを使用して問題を解決しました。
問題:
このAPKは、バージョンコードが高い1つ以上のAPKによって完全にシャドウされているため、どのユーザーにも配信されません。
解決:
このAPKをリリースから削除するか、このリリースに含まれるAPKのターゲットコードとバージョンコードを確認します。
アプリを更新しようとしたときに同じエラーが発生しました。プロジェクトは古く、Eclipseでしたが、targetsdkversionを27から26に減らすことで修正しました。インポート、サポートAndroid libはAndroid 7.1.1私はそれがどのように機能したのかわかりませんが、私にとっては機能します。
リリースマネージャーには、最後にアップロードされたapkが表示され、apkにはWord retainが表示され、スクロールダウンページが表示されます[非アクティブ化]オプションが表示されたら、それをクリックしてから、新しいapkをもう一度アップロードし、ドラフトとレビューに保存してからロールアウトし、その後ただ待つだけです。
分割APKでもこの問題に遭遇しました。各ABIにバージョンコードを割り当て、次のグラドル(簡略化)を使用しました。
ext.abiCodes = ['universal': 0, 'arm64-v8a': 1, 'armeabi-v7a': 2, 'x86': 3, 'x86_64': 4, ...]
Android {
applicationVariants.all { variant ->
variant.outputs.each { output ->
def abiName = output.getFilter(OutputFile.ABI)
def abiVersionCode = project.ext.abiCodes.get(abiName)
output.versionCodeOverride = variant.versionCode * 100 + abiVersionCode
...
これにより、次のAPKが作成されます。
| ABI | Version Code |
|-----------|--------------|
| universal | v100 |
| arm64-v8a | v101 |
| arm64-v7a | v102 |
| ... | ... |
そして、APK v101でこの「Fully Shadowed APK」エラーが発生しました。理由は、arm64-v8a
にあるデバイスは下位互換性があるためv102をインストールできるからです。
armeabi-v8a
のバージョンコードをarm64-v7a
よりも高くした後、問題は解決しました。
ext.abiCodes = ['universal': 0, 'arm64-v7a': 1, 'armeabi-v8a': 2, 'x86': 3, 'x86_64': 4, ...]
これにも注意する必要があります。
確かに、Google Play Consoleには何らかのバグがあります。この場合、新しいAPKを実稼働環境に直接アップロードしました。 「レビュー」ボタンをクリックすると、「Fully Shadowed apk」エラーメッセージが表示されました。
次に、公開したいAPKを使用して以下を行い、本番環境でドラフトとしてアップロードしました。
実動から削除します。
ベータ版でアップロードしてから削除します。
Alphaでアップロードしてから削除します。
本番環境でもう一度アップロードします。
最後の手順の後、エラーメッセージは再び表示されませんでした。どのステップが問題の解決に役立ったかは明らかではありません。おそらく、削除して再度アップロードするだけで十分かもしれませんが、再度再生することはできないため、確信が持てません。
私はあなたの幸運を祈ります!この場合、私たちはすべてそれを必要とします:)
それは言う-他のAPKはより高いバージョンコードを持っています。したがって、新しいAPKよりもバージョンコードが高いリリースされたAPKを持っている可能性があります。新しいAPKを増やしてください。他のAPKバージョンコードはAndroidコンソールで確認できます。widget
セクションのconfig.xml
を変更してください。
<widget Android-versionCode="999" id etc...>
それがこの問題の解決策です。古いバージョンのapkを無効にするだけで、新しいバージョンをロールアウトできます。
すべてのアプリを破棄し、バージョンコードを増やして新しいアプリをアップロードします。