web-dev-qa-db-ja.com

Androidエミュレーター:インストールエラー:INSTALL_FAILED_VERSION_DOWNGRADE

現在、小さなAndroidアプリケーションをコンパイルしてテストしようとしています。

Eclipseを使用しており、SDK 4.2(Api Level 17)がインストールされています。設定しました

<uses-sdk Android:targetSdkVersion="17" Android:minSdkVersion="8" />

ただし、別の値(17/17など)も試しました。

GoogleAPI関数を使用したり、APIレベル8で使用できない関数を使用したりしません。または、少なくともその点に関してコンパイルエラーや警告が表示されません。

プロジェクトをコンパイルし、Android 2.2.1を実行している実際のデバイスで実行すると、アプリケーションは正常に実行されます。ただし、Android 4.2、Apiレベル17のエミュレーター(Android仮想デバイス)でアプリケーションを実行しようとすると、次のエラーが表示されます。

[2012-12-10 21:10:29 - SoftKeyboard] Installation error: INSTALL_FAILED_VERSION_DOWNGRADE
[2012-12-10 21:10:29 - SoftKeyboard] Please check logcat output for more details.
[2012-12-10 21:10:29 - SoftKeyboard] Launch canceled!

ただし、Logcatは空です。このエラーが何を意味するのか、私にはまったく手がかりがありません.

128
ndbd

これは、エミュレーターに既にインストールされているアプリと同じpackageNameでアプリをインストールしようとしているが、インストールしようとしているアプリのversionCode(バージョン番号の整数値)が低いことを意味します。

バージョン番号が現在作業しているコピーよりも大きいコードの別のコピーからインストールした可能性があります。いずれの場合も、次のいずれかです。

  • 現在インストールされているコピーをアンインストールします

  • または、お使いの携帯電話の[設定]> [アプリケーションマネージャー]を開いて、インストールされているアプリのバージョン番号を確認し、<manifest Android:versionCodeを増やしてAndroidManifestで高くします。

  • または https://stackoverflow.com/a/13772620/632951

333
Alexander Lucas

-dフラグをadbインストールに追加することも検討できます。このエラーは無視する必要があります。

50
gruszczy

最初に、エミュレーターからアプリケーションをアンインストールします。

adb -e uninstall your.application.package.name

その後、アプリケーションを再度インストールしてください。

29
user1719362

これは、プロジェクトでXMLリソースを使用してバージョンコードを設定していたために発生していました。

AndroidManifest.xml:
Android:versionCode="@integer/app_version_code"

app.xml:
<integer name="app_version_code">64</integer>

これは、以前のバージョンのadbでは問題ではありませんでしたが、platform-tools r16の時点では、適切な整数に解決されていません。 adb -rを使用して再インストールを強制するか、マニフェストでリテラルを使用して問題を完全に回避できます。

Android:versionCode="64"
8
James Wald

これは、Playストアの署名付きリリースAPKの上にデバッグ/署名なしAPKをインストールしようとしたときに発生する可能性があります。

H:\>adb install -r "Signed.apk"
2909 KB/s (220439 bytes in 0.074s)
        pkg: /data/local/tmp/Signed.apk
Success

H:\>adb install -r "AppName.apk"
2753 KB/s (219954 bytes in 0.078s)
        pkg: /data/local/tmp/AppName.apk
Failure [INSTALL_FAILED_VERSION_DOWNGRADE]

これに対する解決策は、 アンインストール にしてから、IDEから再インストールまたは再実行することです。

4
Deanna

マシュマロでは、このエラーが発生しました。

Installation error: INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE
Please check logcat output for more details.
Launch canceled!

私が検索してここに来た解決策を探しています。アプリを削除しましたが、Nexus 6でもこの問題が残っています。後で、

Settings > Apps > [My app name] have to removed for all user. 
3
karim

INSTALL_FAILED_VERSION_DOWNGRADE

すべてのAndroidアプリにはパッケージ名があります。パッケージ名は、デバイス上のアプリを一意に識別します。同じpackageNameが既にデバイスにinstalledであるアプリと同じ場合、このerrorを表示しています。

  1. device firstからアプリケーションをアンインストールしてから、新しいものをインストールできます。
  2. 新しいバージョンがリリースされるたびに番号を1つずつ増やすことができます
3
IntelliJ Amiya

これを試すことができます:adb install -r -d -f your_Apk_path

2
baiiu

...\Android-22\Android\content\pm\PackageManager.JavaのSDK srcコードによると

/**
 * Installation return code: this is passed to the {@link IPackageInstallObserver} by
 * {@link #installPackage(Android.net.Uri, IPackageInstallObserver, int)} if
 * the new package has an older version code than the currently installed package.
 * @hide
 */
public static final int INSTALL_FAILED_VERSION_DOWNGRADE = -25;

新しいパッケージに現在インストールされているパッケージよりも古いバージョンコードがある場合。

2
zhijuexu

このエラーは、複数の種類のgfxファイルがあるAndroidプロジェクトに表示されます。最後に、マニフェストファイルの変更は受け入れられませんでした。

Androidデバイスに関する知識が不足しているため、テストデバイスに2番目のユーザーがいることを忘れています。このユーザーにはアプリのインストールされたバージョンもあるため、このユーザーアカウントのアプリも削除する必要があり、機能します。

1
norca

私は同じ問題を抱えていました。 Androidデバイスで実行しようとしたときにエラーが発生しましたエミュレータではありません

Sudo ionic run Android 

これを実行することで修正できます

adb uninstall com.mypackage.name
1
Anjum....

これは、Android St​​udioアプリをEclipseにインポートしたときに起こりました。

Android studioプロジェクトからインポートする場合、andoridmanifest.xmlファイルを少し変更する必要があることがわかりました。新しいテストプロジェクトを作成し、見出しをコピーして一致させました。出来上がり、問題は解決しました。

1
BrayNShock

以前のApkをアンインストールして、更新されたAPKをインストールするだけです

0
Peter

私を殺し続けたのは、このアプリが私のゲストアカウントにインストールされたことを知らなかったということです(他のアカウントのためにアンインストールしましたが..)

そのため、アプリマネージャーでアプリを検索し、すべてのユーザーのアンインストールをクリックするだけでした。

enter image description here

0
abbood