編集:
@ marbarfaの回答 のように、これはサードパーティのライブラリに関連しているようです。完全な説明については、彼の回答とコメントを読んでください。
ありがとうmarbarfa!
新しいGooglePlay Developerコンソールを使用して、奇妙な状況に直面しています。最近、Facefbookのフレスコ画像読み込みライブラリに切り替えました。これが私の問題の原因である可能性があります。
(おそらく同様の問題がここで報告されています: Google Play、アプリの更新の公開、「ネイティブプラットフォーム」の問題 )
ベータビルドを本番環境にプロモートするフレームで、私はこれに遭遇しました:
新しいGooglePlayコンソールの[リリース管理]/[アプリのリリース]で、[新しいリリースから本番環境への移行(ベータ2.2.0からのプロモーション)]で、
「ネイティブプラットフォーム」の値がarm64-v8a、armeabi、armeabi-v7a、x86、x86_64からnoneに変更されました!
「前のAPK」のGooglePlayコンソールページコードの抜粋:
Differentiating APK details
Native platforms
arm64-v8a, armeabi, armeabi-v7a, x86, x86_64
「新しいAPK」(Facebookのフレスコを使用したベータ版)のGoogle Playコンソールページコードの抜粋:
Differentiating APK details
Native platforms
none
すべての(10!)アプリを更新しましたが、問題はないようです(サポートされているデバイスの数は同じ、つまり11434です)が、それでも、正確に何が起こったのかを理解できないことに満足していません。
誰か説明してもらえますか?
ありがとう!
問題をできるだけ簡単に説明しようと思います。
一部のアーキテクチャ(例:arm64-v8a, armeabi, armeabi-v7a, x86, x86_64
)で分割しているときに問題が発生するようですが、それらのアーキテクチャにネイティブ実装がありません。
たとえば、私の場合はmipsとmips64でした。
Playストアは、lib/$Arch
フォルダーに基づいてapkでサポートされているアーキテクチャを認識しているようです。したがって、apkにこのフォルダーがない場合、プレイストアには「none "as" native platform "」と表示されます(apkを解凍すると確認できます)。
問題は、 "none"が "すべてのアーキテクチャがサポートされています"として解釈され、バージョンコードに基づいてapkがダウンロードされることです。
"native platform" as "none"のapkがあり、ネイティブ実装を持つ別のapkよりも高いversionCodeがある場合、ユーザーはより高いapkをダウンロードすることになります。 versionCode。アプリや構成によっては、これでうまくいくかどうかがわかります。
この問題は、gradleがapkを分割する方法で発生し、分割のversionCodeを定義する方法に注意する必要があります。