76

Nexus 4 を使用して Android でデバッグを行っていますが、最近このエラーが発生しました。このエラーについて調査したところ、アプリが適切に削除されていないことが問題のようです。デバッグ中のアプリは、他の Android デバイスとエミュレーターで正常に動作します。このエラーは、Nexus 4 でのみ発生します。デバイスをコンピューターに接続し、データ/データ フォルダーを削除しようとしましたが、まだ同じ問題。また、設定アプリをチェックして、確実にアンインストールされていることを確認しました。

この問題を解決する方法を知っている人はいますか? 一部のユーザーによると、データ/データを適切に削除するには root アクセスが必要です。これは本当ですか? または、これを回避する別の方法はありますか?

4

27 に答える 27

79

場合によっては、データ フォルダーもアンインストールする必要があります。私の場合、 のユーザー空間にパッケージがありcom.kikin.cts、 にもフォルダ ディレクトリがありました/data/data/com.kikin.cts。取得し続けINSTALL_FAILED_UID_CHANGEDましたが、データフォルダーを削除した後、エラーはなくなりました。

于 2013-06-16T12:40:40.420 に答える
17

デバイスを再起動し、プロジェクトをクリアします。基本的に、再起動しない場合に備えて、アンインストールするとこれが行われます。

于 2013-04-29T11:46:59.427 に答える
7

これを引き起こす SharedUserID を導入した可能性があります。

于 2013-04-29T11:54:20.427 に答える
3

私は別の解決策を見つけました。アプリケーションのパッケージ名を変更すると、デバイスが別のアプリケーションとして認識し、インストールが正常に完了します。root アクセス権がなく、デバイスをリセットしたくない人にとっては役立つかもしれません。

于 2014-07-17T17:25:21.003 に答える
3

誰かに役立つ場合に備えてこれを共有したいと思いました... Google Playストアからダウンロードした電話に少し古いバージョンがあるにもかかわらず、Eclipseで新しいバージョンのアプリを作成し、電話で実行しようとしました。Eclipse は、既存の電話バージョンをアンインストールしてもよいかどうかを尋ねるダイアログをポップアップ表示し、同意しました。アンインストールに問題があり、INSTALL_FAILED_UID_CHANGED が発生しました。

ここで提案されていることのほとんどを試してみましたが、うまくいきませんでした。私の携帯電話には APK の明らかな痕跡も、削除すべきデータ ファイルもありませんでしたが、Eclipse から携帯電話に APK をロードするのを何かが妨げていました。以前のベータ テスト バージョンを Google Play からダウンロードすることもできませんでした。ダウンロードは 100% まで進みましたが、「不明なエラー」と数字 (おそらく -24) を報告するメッセージが表示されて失敗しました。

以前のパッケージ名でベータ テスターとアプリ内製品をセットアップしていたため、パッケージの名前を変更することを躊躇していましたが、一時的に Eclipse でパッケージ名を変更し、その新しいバージョンを電話にインストールしてからダウンロードすることができました。古い Google Play バージョンも同様です。両方のバージョンは、同じアプリ名とアイコン (ただし、バックグラウンドで異なるパッケージ名) を使用して、携帯電話上で喜んで隣り合わせに座っていました。次に、アプリのアイコンを電話のアンインストール アイコンにドラッグして、いずれかまたは両方を手動でアンインストールできます。手動のアンインストールにより競合が解消され、Eclipse の不完全なアンインストールが修復されたので、Eclipse パッケージの名前を元の名前に変更して、以前と同じように続行しました。

これは、出荷時の設定にリセットしたり、パッケージの名前を永続的に変更したりするよりもはるかに苦痛が少ないものでした。エラーの原因が Eclipse バージョンと Google Play バージョンの間の競合である場合にのみ機能する可能性がありますが、同様の状況にある場合は試してみる価値があります。

于 2014-12-15T12:43:45.393 に答える
3

私にとっては、「開発者向けオプション」セクションで「USB経由でアプリを検証する」のチェックを外すことで、トリックが行われました。

于 2014-09-24T23:00:46.667 に答える
2

これは私のために働いた:

adb shell rm -rf /system/app/<package.name>
于 2014-07-29T21:17:16.850 に答える
2

この問題は、Galaxy Note 3 テスト デバイスで過去数日間発生していました。私はCalabash-Andrdoidを使用しており、install_appメソッドが実行しようとするたびにエラーINSTALL_FAILED_UID_CHANGEDが発生し続けました。2 つのテスト デバイスでこの問題が発生していたため、この問題に苦労していました。/data/data/ app および app.test フォルダーを空にするなど、上記のすべてを試しました。アプリの開発に使用したプラットフォームであるため、Xamarin がインストールするバックエンドのインストルメンテーションも削除しました。デバイスから手動で削除するものは他に見つかりませんでした。3 番目のデバイスで作業を試みたところ、すべてが正常に実行されたことがわかり、問題はデバイスにあることに気付きました。結局、私のために働いた唯一のことは、工場出荷時設定へのリセットを実行することでしたデバイスの 1 つの。これが役立つことを願っています。

ありがとう、-シャー

于 2014-10-31T13:50:24.440 に答える
2

これは、既存の回答ではカバーされていないものです。これはエミュレータで私に起こっていました。ユーザー データをリセットすると、最初は INSTALL_FAILED_DEXOPT が発生しますが、その後は INSTALL_FAILED_UID_CHANGED になります。最初の状態にリセットするには rm -r /data/data/com.foo.bar で十分であることがわかりました。

私の場合の実際の原因は、dexopt が失敗する原因となった Java メソッド名です。logcat の内容に細心の注意を払ってください。これがそれを与えたものです:

I/PackageManager( 1275): Running dexopt on: com.foo.bar
E/dalvikvm( 2857): Invalid name: '__jni_setLocation'
E/dalvikvm( 2857): Trouble with item 14787 @ offset 0x43b68
E/dalvikvm( 2857): Cross-item verify of section type 0005 failed
E/dalvikvm( 2857): ERROR: Byte swap + verify failed
E/dalvikvm( 2857): Optimization failed
W/installd(  941): DexInv: --- END '/data/app/com.foo.bar-1.apk' --- status=0xff00, process failed
E/installd(  941): dexopt in='/data/app/com.foo.bar-1.apk' out='/data/dalvik-cache/data@app@com.foo.bar-1.apk@classes.dex' res=65280
W/PackageManager( 1275): Package couldn't be installed in /data/app/com.foo.bar-1.apk

dexopt が一部のメソッド名を好まない理由はわかりませんが、それが問題でした。

于 2015-04-10T01:03:45.493 に答える
1

さて、ここに根ざしている私のLG NEXUS 4の解決策は次のとおりです:(

  • 作業中のアプリ apk が署名済みまたは未署名の場所にあることを確認してください)

  • このファイルを電話からアンインストールしました(もちろん存在する場合)

次のようにしましょう: app-debug-unaligned.apk

コンソールで次のように記述します。

adb push app-debug-unaligned.apk /sdcard/
adb shell
su
rm -fr /data/local/tmp/app-debug-unaligned.apk
rm -fr /data/data/app-debug-unaligned.apk

ここでadbを終了して呼び出します

adb shell su -c "pm install /sdcard/app-debug-unaligned.apk"

働く?

于 2014-06-05T20:07:55.963 に答える
1

と を削除/data/data/my.package.name/data/app/my.package.name.apkましたが、問題は解決しません。

ただし、フォルダーを見つけて/data/user/0/my.package.name削除し、問題を解決しました。

于 2015-04-09T14:34:30.307 に答える
0

使用する

adb シェル

シェルに行きます。
次に、次のコマンドを実行します。

rm -rf /データ/データ/パッケージ名

パッケージ名を com.map.map などの独自の名前に置き換えてください

于 2014-10-28T08:14:45.960 に答える
0

ルート化されていないデバイスのソリューション。アプリケーション マネージャーに移動し、「Selendroid」というアプリをアンインストールしてから、もう一度やり直してください。このソリューションは私にとってはうまくいきます。

于 2014-09-15T18:06:28.520 に答える
0

私にとっては、それ以上のことがありました。単に削除するだけ/data/data/appfolderでは役に立ちませんでした。

追加の理由は、フォルダーの名前がlibsではなくlibだったため、外部ライブラリが.apkファイルに含まれていなかったことです。これにより、インストール 中にが発生しました。[INSTALL_FAILED_DEXOPT]apk[INSTALL_FAILED_UID_CHANGED]

したがって、この場合、libsフォルダー名を変更するとうまくいきました。

于 2014-09-02T13:07:18.717 に答える
0

コンピューターから Junit スタイルのテストを実行してこのエラーが発生した場合、コンソールにはアプリケーション(「com.myapp.stuff」の形式でパッケージ化されている) に問題があることが示されましたが、実際の問題はテスト コード パッケージでした。デバイスで実行している場合は、「com.myapp.stuff.test」のようなパッケージ名で別のアプリとしてインストールされます。アプリケーションマネージャーを使用してテストコード「アプリケーション」を削除し、実際のアプリを削除すると、問題が解決しました。この回答をここに投稿して、他の誰かの「当たり前」の瞬間を救います。

于 2015-01-19T19:27:55.970 に答える
0

ルート化されていないデバイスとエミュレーターの両方で機能するソリューションを見つけました。ルート化されていないデバイスのデータ フォルダーを直接削除することはできませんが、次のpmコマンドを使用してそれを行うことができます。

  1. 走るadb shell
  2. 実行pm uninstall <app name>(つまり、com.example.myapp)
  3. 実行pm uninstall <test app name>(例: com.example.myapp.test) - テスト アプリが以前にインストールされていない場合、エラーが発生する可能性があります。

Android UI からアプリをアンインストールする場合、何らかの理由でこれが機能しないようです (データ フォルダーが削除されない可能性があります) が、pmコマンドを介してアンインストールする場合は機能します。

「Nexus 5」と「OnePlus One」で試してみました。

于 2015-04-21T14:19:08.023 に答える
0

明らかに、不適切なアンインストールが原因です (おそらく、ケーブルの接続不良が原因です)。

解決方法 play-store からSDMaidを ダウンロードし、Corpse ファイル (ジャンク ファイル) を削除します。アプリケーションを再実行します。(ただし、デバイスをルート化する必要があります)

于 2015-11-07T23:53:04.447 に答える
0

Mediacom デバイスでも同じ問題が発生します。

$ adb install -r platforms/android/out/android-debug-unaligned.apk
3958 KB/s (22887489 bytes in 5.647s)
     pkg: /data/local/tmp/android-debug-unaligned.apk
     Failure [INSTALL_FAILED_DEXOPT]

次に、非常に永続的な:

$ adb install -r platforms/android/out/android-debug-unaligned.apk
4949 KB/s (22887489 bytes in 4.515s)
     pkg: /data/local/tmp/android-debug-unaligned.apk
     Failure [INSTALL_FAILED_UID_CHANGED]

工場出荷時設定にリセットしても、ダイナミクスは変わりませんでした(両方のエラーが順番に発生しました)。

  • 別のIDで同じアプリをインストールするとうまくいきました
  • 以前の ID で別のアプリをインストールしても、

ルート化はオプションではありません。私にとっての解決策はキャッシュワイプでした。問題のあるアプリIDが正常に機能するようになり、工場出荷時設定にリセットする必要がなくなりました(再び)。

それが役に立てば幸い

于 2015-04-08T11:41:15.163 に答える
-1

ルート化と工場出荷時設定へのリセットは私にとって選択肢ではありませんでしたが、古いバージョンの APK を見つけてインストールすることができました (適切にアンインストールできなかったのと同じものだったと思います)。それをもう一度アンインストールした後、新しいバージョンをインストールできました。

于 2014-10-06T19:42:13.680 に答える