web-dev-qa-db-ja.com

インストールエラー:INSTALL_FAILED_UID_CHANGEDルートなし

StackOverflowの他のすべての質問のすべてのソリューション、コメント、回答を確認しました。

私は何ヶ月もアプリを実行、コンパイル、デバッグしてきました。しかし、Nexusを使用してプレイすると、Eclipseに突然このメッセージが表示され始めました。

モバイル:

  • ルートがありません!!! (それはネクサスであり、私はルートを持っていません、そして他のStackoverflowの質問のすべての答えは実行されるルートが必要です)
  • アプリケーションがアンインストールされ、「アプリケーション」にその痕跡はありません
  • ルートアクセス権がないため、/ data/dataフォルダー、/ data/local、または/ dataにアクセスできません。
  • I do電話を工場出荷時の設定にリセットすることで問題が解決することを知っていますが、誠意をこめて、できません。

Eclipse:

  • プロジェクトを何度もクリーンアップし、Eclipseを再起動し、更新することさえしました。
  • プロジェクトの名前を変更することはできません(1つのソリューションが示唆するように)、それは長い時間のプロジェクトであり、それを変更することはできません
  • コンソールは言う:

    • インストールエラー:INSTALL_FAILED_UID_CHANGED
    • 詳細については、logcatの出力を確認してください。
    • 打ち上げがキャンセルされました!
  • Logcatより:

    • 01-05 12:18:19.265:W/ActivityManager(761):許可の取り消しのためのコンテンツプロバイダーが見つかりません:file:///data/local/tmp/MyApp.apk
    • 01-05 12:18:20.855:W/PackageManager(761):パッケージを/data/app/com.myapp-1.apkにインストールできませんでした
  • 他のAPK /アプリケーションを問題なくインストール、アンインストールできます。したがって、/ data folder/subfolders内の権限に関するものではありません

コンソール:

  • (-dまたはその他のパラメーターを使用して)アプリをアンインストールしようとすると、「失敗」と表示されます(adbが電話でアプリを見つけられないため)

だから、私は仮想マシン/エミュレーターでデバッグしていません。アプリケーションのトレースなしでルート化されていないNexusがあり、Eclipseからデバイスにアプリケーションをビルドできません。

ありがとうございました

33
FlamingMoe

非ルートNexus 5でも同じ問題が発生しました。ルートアクセスもファクトリリセットもせずに解決できました

このデバイスについては、Settings -> Storage -> Miscそして、障害のあるアプリに関連するファイル(私の場合は、Android Studioと.dbファイル)からプッシュされた.apk)を削除しようとしました。また、Cached dataすべてのアプリのキャッシュを消去します。

2つの事柄のどちらが解決策を引き起こしたのか、正確にはわかりません。キャッシュされたデータを消去する前に、Misc内のいくつかのファイルを削除しようとすることになるでしょう。

以前のインストールで、アンインストールで消去されなかったファイルが残っているようです(おそらく Androidインストールシステム の問題)。これらはファイルは/ data/local /フォルダの下にあるため、ルートアクセスなしではアクセスできません。Nexus5のストレージツールには、そのフォルダの下にあるファイルを削除する権限があるようです。

他のデバイスに同様のストレージツールセットがあるかどうかはわかりません。

10

Playストアからアプリをダウンロードすると、問題が解決します。アプリの開発を続けるには、現在インストールされているアプリをアンインストールし、Eclipseからアプリを起動するだけです。

正常に動作します。

5
Sunil Kumar

これが最初に起こったとき、コマンドラインなどからEclipseからインストールしようとしました...すべてが失敗したため、工場出荷時の状態にリセットしましたが、その後動作しました。

24時間後にそれが再び起こりました。

別の工場出荷時設定へのリセットを行いたくないので、私は同じことをすべて試みましたが無駄になりました。

最後に、現在のアプリをアプリストアからダウンロードしてみましたが、奇跡的に機能しました。

その後、adbを使用して再インストールしました。

したがって、アプリストアにアプリのバージョンがある場合は、それをインストールして携帯電話で何かを取得してから、「adb -d install -r $ PACKAGE.apk」を再インストールしてください。

これが誰かを助けることを願っています。

3
guyland123

これは奇妙に思えるかもしれませんが、私の先のとがった髪の上司はこの問題を抱えていて、考えられるすべてを試しました。 INSTALL_FAILED_UID_CHANGEDエラーのためインストールされません。

彼は他のいくつかのアプリ(ゲーム)をアンインストールしましたが、突然インストールされました。多分それは内部カードのディスクスペースの問題ですか?ダンノ、しかし誰か他の人がヒットしたら試してみる価値がある。

3
DustinB

これ(または他の魔法)は私を助けました:

adb Shell pm clear MY_PACKAGE_NAME

以下は、安全に実行できるチェック/試行するその他の事項です。

  • パッケージ名が100%一意であり、他のアプリと衝突しないようにしてください。テストのために一時的に変更できます。
  • 電話の電源をオフにしてから再度オンにして、データキャッシュをクリアしてください。
  • デバイスのソフトリセットを試してください(電源のオフ/オンと同じ場合があります)。
1
scottt

Settings -> Storageの下にあるキャッシュデータを削除してみてください。これにより、キャッシュされたすべてのアプリデータが一度に消去されますが、ジョブは実行されます(私の場合)

1
Moïze

Nexus 5をルート化せずに次のように解決できます。

  • アプリを/ sdcard /にプッシュします
  • adb Push test.apk/sdcard /
  • adbシェル
  • adb Shell pm install -l /sdcard/test.apk

-lオプションは-pm install:パッケージをシステムにインストールします。オプション:-l:FORWARD_LOCKでパッケージをインストールします。

1
TJ Kim

これは、同じパッケージ名でアプリをインストールしたためです。だからそれを削除してみてください。

0
Usman Afzal

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

adb install -l -r <'apk_name'>。apk

-l =フォワードロック

-r =再インストール

0
Karim Varela

上記のすべてとNADAを試してみました!

それが私のために働く唯一の方法(ルート化されていないデバイス)

1.- プロジェクト構造 [Ctrl + Alt + Shift + S]-> フレーバーの変更:アプリケーションID、例: 'com .example.something 'から' com.example.somethingxx 'へ。 (build.gradleファイルでの変更と同じです)

2.- パッケージ名のリファクタリングプロジェクトの同じ新しい名前アプリケーションIDで使用したもの: 'com.example.somethingxx'

これにより、デバイスに新しいアプリがインストールされるようになります...お知らせください!

0
Mike

これとまったく同じ問題がありました。最終的に私のために働いたのは、build.gradleapplicationId(パッケージ名)を別のものに変更し、プロジェクトを再構築し、展開を成功させることでした。

この状況につながったのは、既存のAndroid Studioプロジェクトを新しいプロジェクトにコピーし、その新しいプロジェクトで作業を行っていたということでした。以前に私のデバイスでapkを実行し、アプリの新しいコピーを展開しようとしていました。

0

私の場合、GCM署名のパッケージ名を変更すると機能しました。完全なパッケージがアンインストールされるためです。

詳細な説明についてはここをクリック

<permission
        Android:name="com.androidcodelab.sampleproject.permission.C2D_MESSAGE"
        Android:protectionLevel="signature"/>
   <uses-permission Android:name="com.androidcodelab.sampleproject.permission.C2D_MESSAGE"/>

プロジェクトのパッケージ名が次のように変更されました。

<permission
        Android:name="com.androidcodelab.xyz.permission.C2D_MESSAGE"
        Android:protectionLevel="signature"/>

    <uses-permission Android:name="com.androidcodelab.xyz.permission.C2D_MESSAGE"/>

そして、実際のパッケージ名に戻しました

0
user3496326

このソリューションは私のために働いた:

  1. APKをデバイスのストレージ/ SDカードに入れます

  2. adb Shell pm install -l -r "/sdcard/<apk_filename>.apk"

-l =フォワードロック-r =再インストール

0
gentra

Android studio go to File-> Project Structure-> app-> Flavorsと右側に表示されますApplication IdフィールドはApplication Idを変更するだけで準備完了です... :)

0
Arslan Shahid

no root Deviceの場合、デバイスのアプリリストからアプリを削除する必要があります。

  1. 設定に移動"
  2. 「ストレージ」に移動します
  3. 3番目のタブ「ダウンロードしたアプリ」でアプリを見つけます
  4. そこから削除できます

私のために働く!

0
Eli
  1. 実行/デバッグ構成に移動します。
  2. Android App delete "app"。
  3. 次に、モジュールの下に別の構成を追加します:app

enter image description here

0
Angela Sanchez

テスト用のデバイスを使用していたため、デバイス全体をリセットしました。誰にとってもうまくいきました。

0
kentrh

これは、ルート化することによってのみ修正できました。私はあなたがそれをしたくないことを知っていますが、それは私のために働いた。 Titanium Backupをダウンロードした後、アンインストールしたアプリがTitanium Backupのリストで消されていることがわかりました。バッチアクションに移動してから孤立データを削除するまで、その取り消し線を削除できませんでした。これにより、アプリを再インストールでき、うまく機能しました。

0
Adam VanWert