私はCyanogenMod 9からTrebuchetランチャーをコンパイルし、そしてadbでそれをインストールしようとしています:
$ adb install out/target/product/generic/system/app/Trebuchet.apk
3986 KB/s (7870141 bytes in 1.928s)
pkg: /data/local/tmp/Trebuchet.apk
Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]
CM9とNexus S、そして株価JBとGalaxy Nexusを試しました。なぜ私はこのエラーが出ますか?
編集:私の場合、パッケージマネージャでシステムパッケージを再インストールしようとしました。それはサポートされていないので、私はこのエラーを得ました。エラーの原因はあなたのケースでは異なるかもしれません。
私はちょうどパッケージの名前を変更し、それは私のために働いた。
あるいは、あなたがIonicを使っているなら、あなたはアプリケーションを削除して、もう一度試すことができます、これは、Ionがあなたがデプロイしているアプリが同じビルドから来ていないことを検出した時に起こります。あなたがPCから変更するとき、それはしばしば起こります。
それはあなたがインストールしたいアプリケーションが既にインストールされていることを意味します。古いものを削除してもう一度試してください。
やってみる
adb uninstall package-name
わたしにはできる。 Titanium Backupを使ってアプリを削除しました。しかし、私はTitaniumバックアップが私のアプリを完全に削除しなかったと思います。
この問題を回避するには、アプリケーションをアンインストールするだけで十分です。
INSTALL_FAILED_UPDATE_INCOMPATIBLE
しかし、時にはメッセージをアンインストールすることが再び発生し、それはAndroid OS 5.0以降で発生するので、これが解決策です:
Settings
> Apps
に移動すると、メッセージが表示されたアプリが表示されます。
すべてのユーザーに対して手動でアンインストールする必要があります!それからコンパイル済みのアプリケーションを問題なくインストールできます。
Android Debug Bridgeコマンドを使用します。
adb uninstall [パッケージ名]
うまくいくことができる2つの方法
1:モバイルデバイスから手動でアプリをアンインストールする
2:コマンドプロンプトを開き、adb
のパスをトレースして以下のコマンドを実行します
adb uninstall your_package_name
問題は、彼がこのエラーを起こしている理由です。アンインストールすることでこの問題は解決されますが、私の場合は、コンパイル済みバージョンのapkをインストールしている間に問題が発生しました。私は自分のアプリケーション用のアップデートを作成しようとしていました。だから私は何をした、私は署名されたAPKを構築してから、APKとAPKを完全にインストールしようとしました。そのため、古いapkを削除するのではなく、新しいアップデートに署名してからインストールする必要がありました。
これは、端末に複数のユーザーがいて、1つのアプリを削除したばかりのためです(他の人のためにapkをまだ存在させたままにします)。
私はすべてのアカウントで削除したが、その後うまくいった。
私はAstroファイルマネージャをインストールして、apkファイルの以前のバージョンを探して、SDカードの1つを見つけて、Astroファイルマネージャを使っているapkファイルを削除しました。
デバイスが複数のユーザーをサポートしている場合は、アカウントごとにアプリも削除する必要があります。
私はいつもadbを使っていますが、それがトリックadb uninstall <your-package-name>
です。
aPKがAndroid.mkファイルでプロジェクトに組み込まれている場合。おそらく署名証明書が変更されたためです。
私の問題では、LOCAL_CERTIFICATE:= platformを追加しました。元のapkはこのタグなしで署名されているので。
これは、別の証明書を使ってアプリケーションに署名した場合に起こります。いつでも使えます
adb install -r myapk.apk
あなたのデバイス上の既存のapkを上書きするために、しかしあなたがあなたがまだ新しいapkにインストールされたapkのそれと異なる証明書で署名したならエラーを得るでしょう。
そのシナリオでは、インストールを試みる前にあなたのデバイスからapkをアンインストールする必要があるでしょう。ただし、元の署名が特定のDevelopor APIに関連付けられている可能性があるため、これもアプリケーションに影響を与える可能性があるため、新しい認証情報を使用してコンソールを更新する必要があります。
私の場合、デバイスマネージャやAstroを介して見つけられるアプリケーションのバージョンはありませんでした。
私がやってしまったのは、
1)App Storeから最新版のAppをダウンロードする
2)アプリは、デバイスを再起動するまでデバイスマネージャに表示されませんでした。
3)デバイスマネージャからアプリを削除します
4)私のプロジェクトをもう一度実行します
5)すべてうまくいく
これが誰かに役立つことを願っています
MIUIユーザーの場合、通常のUSBデバッグオプションとは別に、これらの設定も必ず有効にしてください。
USB経由でインストール
USBデバッグ(セキュリティ設定)
その後、アプリを再インストールするときにプロンプトを受け入れます。
それは私のために働いています
私は同じ問題を抱えており、それを修正するために次のようにしました。
設定/アプリ/アプリの検索に移動してアンインストールします.
それは私のために働いています
C:\ Android-sdk\platform-tools\adb.exe:コマンドが終了コード1で失敗しました
エラー出力:adb:app \プラットフォーム\ Android\app\build\output\apk\debug\app-debug.apkのインストールに失敗しました:失敗[INSTALL_FAILED_UPDATE_INCOMPATIBLE:パッケージcom.example .
app1
の署名が以前にインストールされたバージョンと一致しません。無視する!
解決策:
あなたはすでにアプリapp1
を電話にインストールしています(大抵プレイコンソールからダウンロードするか、アップロードキーを変更します)
アプリをアンインストールします。
詳細:
アップロードキーを使用してこのアプリがすでにPlayストアにアップロードされていること、プレイコンソールに独自の署名が適用されていることは可能です。そのため、Google Playからダウンロードした携帯電話のアプリのアップロードキーと同じ署名はありません。
アプリをアンインストールすると、Playストア版のアプリがなくなり、新しいバージョンを携帯にインストールしたときに不一致になります。
それが役立つことを願っています。
Instant Runを使用して開発ビルドをインストールし、Google Playからアンインストールしたときに私は起こりました。何らかの理由でインスタントランからのデータがまだデバイスにあり、再度アプリをインストール/アンインストールすることができません。
それを修正する唯一の方法: - アンドロイドスタジオでインスタントランを無効にする - アンドロイドスタジオからインストールする(それはここからしか動作しないはずです) - アプリをアンインストールする
これで、Google Playまたはadbからインストールするのがきれいになるはずです。
マニフェストファイルにこの行がある場合 -
Android:sharedUserId = "Android.uid.system"
このエラーの原因です。この行をコメントするだけでいいですよ。
あなたが他のPCからあなたのAPKを構築し、別のPCからそれを更新する場合に起こります。
私の場合は、Playstoreからアプリケーションをインストールし、その後EclipseまたはAndroid Studioから実行しようとしています。 だからそれは許可されませんそのAPKに再度インストールしようとします。
だから、まず第一にあなたはそれをアンインストールする必要がありますSiged APKそしてその後あなたが試す必要があります。
ありがとうございました。
私はこれをデバッグしようとして1時間を費やしただけで、電話ではなくエミュレータに接続されていることに気付きました。そのため、携帯電話でアプリを正常に削除したにもかかわらず、まだ失敗していました。愚かな間違いですが、これはおそらく他の誰かを助けるでしょう。
RankoR @あなたは別のコンピュータからアプリケーションをインストールしている必要があります。私の場合は、問題が発生した場合、アプリケーションをアンインストールして再インストールするか、作業中のコンピュータから実行するだけです。返信が遅くなる可能性がありますが、問題が解決する場合があります。