最新のAndroid4.2では、より低いバージョンのAPKをインストールしようとすると、インストール時にこのエラー状態が発生したようです。以前のバージョンのAndroidでは、を使用するだけで古いAPKをインストールできました adb install -r <link to APK>
。デバッグの目的で、古いAPKを頻繁に再テストする必要があります。フラグは、-r
古いAndroidバージョンの古いビルドを置き換えます。ここで無視する回避策はあり[INSTALL_FAILED_VERSION_DOWNGRADE]
ますか?
12 に答える
最新バージョンのadbツールには、adbヘルプには表示されない「ダウングレードを許可するフラグ」があるようですが、デバイスの「pm」ヘルプには表示されます。したがって、以下を使用します。
adb install -r -d <link to apk>
adb uninstall -k <package>
古いapkを試して使用してからインストールできます。adb 使用ガイドから:
adb uninstall [-k] <package> - remove this app package from the device
('-k' means keep the data and cache directories)
私は自分の apk で試してみましたが、ほとんどのデータで機能しているようです (RawContacts のような一部のデータは保存されませんでした)。
デバイスで複数のアカウントを有効にしましたか(そしてADB経由でapkをプッシュしましたか)?もしそうなら、あなたはすべてのアカウントでapkを削除する必要があります。完全にアンインストールすると、プッシュはOKになります。
私の場合、それは私のプロジェクトに含まれている古いバージョンの Google Play Services でした。Androidスタジオを使用しています。SDK で更新を実行し、更新されたライブラリをインポートしたところ、そのエラーはなくなりました。私の提案: プロジェクトで参照されている最新のライブラリに更新します。
私も同じ問題に直面しました。デバイスからapkを削除するよりも簡単な以下の手順で解決できます-
1) ターミナルでコマンド「adb logcat | grep -i version」を実行します
2) logcat の最後に表示される特定の行を探します -
"Downgrade detected: Update version code 5011 is older than current 9109"
3) 現在のバージョン (9109 など) をコピーし、以下に示すように AndroidManifest.xml に貼り付けます -
android:versionCode="9109"
ここで、アプリケーションをクリーンアップして再構築すると、正常に動作するはずです。
バージョン番号が現在使用しているコピーよりも新しいコードの別のコピーからインストールした可能性があります。いずれの場合も、現在インストールされているコピーをアンインストールするか、[設定] > [アプリ] を開いて、インストールされているアプリのバージョン番号を確認し、AndroidManifest で versionCode を増やしてください。