adbシェルを介してICSエミュレーターにapk(1つのサイトからダウンロード)をインストールしようとしていますが、次のエラーが発生します:
失敗[INSTALL_FAILED_UID_CHANGED]
何が問題になる可能性がありますか?
adbシェルを介してICSエミュレーターにapk(1つのサイトからダウンロード)をインストールしようとしていますが、次のエラーが発生します:
失敗[INSTALL_FAILED_UID_CHANGED]
何が問題になる可能性がありますか?
問題のデータディレクトリをrm-rするだけです。インストール中にこのエラーが発生した場合は、ADBシェルから「rm-r/data/data/com.app.class」を実行するだけです。データの保存を試みたい場合は、適切なUIDを見つけてから、「chown -R UID:UID/data/data/com.app.class」を実行できます。
Androidでは、アプリのインストールを処理するソースコードの一部はPackageManagerServiceです。Androidソースは公開されているため、AndroidがINSTALL_FAILED_UID_CHANGEDエラーをスローする場所を簡単に確認できます。次のことが当てはまる場合:インストールしているパッケージにすでにデータディレクトリがあり、そのデータディレクトリに対するアクセス許可が、このパッケージに割り当てられているUIDと異なる場合、そのエラーが発生します。
最初に以前のバージョンのアプリをエミュレーターからアンインストールしてから、再試行してください。これを行うには、[システム設定]>[アプリケーション]>[アプリケーションの管理]にアクセスしてアプリを選択します。
それでもアプリのインストールに失敗する場合は、[ユーザーデータのワイプ]オプションを選択してエミュレータを起動します。
コマンドプロンプトを開き、以下のコードを記述します。
adb devices
これにより、接続されているかアクティブなデバイスの数が一覧表示されます。apkをシステムフォルダにコピーします
adb -s DEVICE_NAME install YOUR_APK_NAME
これにより、上記の行にデバイス名を指定することで、特定のapkをデバイスにインストールできます。