132

実行してadbいて、デバイスがデバッグモードでシステムに接続されています。

インテント起動を使用してアプリをアンインストールしたいadb shell am start <INTENT>

を使ってアンインストールしたくないし、使っadb uninstall com.company.apppackageてもアンインストールしたくないadb shell pm uninstall com.company.apppackage

android.intent.action.DELETEユーザーがプロンプトを表示してプログラムをアンインストールできるように、特定のパッケージのアクションを含むインテントを送信するにはどうすればよいですか?

4

7 に答える 7

224

cmdで次のコマンドを使用します。

adb shell pm Uninstall -k com.packagename

例えば:

adb shell pm uninstall -k com.fedmich.pagexray

この-kフラグは、アプリが削除された場合でも、キャッシュディレクトリとデータディレクトリを保持するようにパッケージマネージャーに指示します。クリーンアンインストールが必要な場合は、を指定しないでください-k

于 2012-12-12T05:48:25.540 に答える
179

次のコマンドを使用して adb から実行できます。

adb shell am start -a android.intent.action.DELETE -d package:<your app package>
于 2012-10-18T08:17:56.247 に答える
12

ADB を使用すると、次の 3 つのコマンドのいずれかを使用できます。

adb shell am start -a android.intent.action.UNINSTALL_PACKAGE -d "package:PACKAGE"
adb shell am start -n com.android.packageinstaller/.UninstallerActivity -d "package:PACKAGE"
adb shell am start -a android.intent.action.DELETE -d "package:PACKAGE"

PACKAGE は、インストールされているユーザー アプリのパッケージ名に置き換えます。コマンドが正常に機能するには、アプリがデバイス管理者である必要はありません。これらのコマンドはすべて、アプリの削除についてユーザーの確認を必要とします。

上記のコマンドの詳細は、 を使用してamの使用法を確認することで知ることができますadb shell am

Elixir 2を使用してこれらのコマンドに関する情報を取得しました(同等のアプリを使用してください)。これを使用して、パッケージ インストーラー アプリ (アプリのインストールおよび削除中に表示される GUI) のアクティビティと、関連するインテントを表示しました。ほらね。

私が使用した別の方法は次のとおりです。最終確認が表示されるまで、GUI を使用してアプリをアンインストールしようとしました。確認せずにコマンドを実行しました

adb shell dumpsys activity recents   # for Android 4.4 and above
adb shell dumpsys activity activities # for Android 4.2.1

とりわけ、バックグラウンドで渡されたインテントの有用な詳細が表示されました。例:

intent={act=android.intent.action.DELETE dat=package:com.bartat.android.elixir#com.bartat.android.elixir.MainActivity flg=0x10800000 cmp=com.android.packageinstaller/.UninstallerActivity}

ここでは、アクション、データ、フラグ、およびコンポーネントを確認できます - 目標には十分です。

于 2015-12-10T21:02:14.230 に答える
7

上記の回答は機能しますが、コンピューターに複数のデバイスが接続されている場合は、次のコマンドを使用して、そのうちの 1 つからアプリを削除できます。

adb -s <device-serial> shell pm uninstall <app-package-name>

デバイスのシリアルを調べたい場合は、次のコマンドを使用します。

adb devices -l

これにより、接続されているデバイスのリストが表示されます。左の列には、デバイスのシリアルが表示されます。

于 2015-11-09T10:27:14.577 に答える
4

私の場合、adb shell pm list packages最初に Android デバイスまたはエミュレーターにインストールされているパッケージ/アプリを確認し、目的のパッケージ/アプリを見つけたらadb shell pm uninstall -k com.package.name.

于 2016-12-19T08:44:47.480 に答える
0

@ neverever415 の回答を実行すると、次のようになりました。

失敗 [DELETE_FAILED_INTERNAL_ERROR]

この場合、正しいパッケージ名を書いたことを確認してください。おそらく次のようなデバッグ バージョンですcom.package_name.debug

adb shell pm uninstall com.package_name.debug

またはhttps://android.stackexchange.com/questions/179575/how-to-uninstall-a-system-app-using-adb-uninstall-command-not-remove-via-rm-orを参照してください。

于 2020-10-23T13:14:39.397 に答える