Android Studio:実行またはデバッグの前にAPKをアンインストール(またはadbコマンドを実行)する方法


119

今度はRun\Debug、Android Studioでアプリをアンインストールする必要があります。アプリを実行する前にデータベースを再作成する必要があるためです。コマンドを実行できることはわかっています

adb uninstall [package_name]

ターミナルのでファイルをクリアします/data/data/[package_name]。しかし、毎回コマンドを実行する必要がある場合、それは便利な方法ではありません。私は願っています

adb uninstall

Run\Debugボタンをクリックすると自動的にコマンドが実行されます。


「実行」/「デバッグ」プロセスの最初にアプリを再インストールしましたね。それとも別のアプリをアンインストールするつもりですか?
cck3rry 2014

@ cck3rry申し訳ありませんが、あまり明確ではありません。アプリを実行/デバッグする前にデータベースを再作成する必要があるため、「adb uninstall」コマンドを実行したいと思います。
ジャガー

別の方法で、最初のアクティビティのonCreateでデータベースを削除する数行のコードを書いてみませんか?その後、それを再作成できます。リリースする前に、このブロックを必ず削除してください。
mattgmg1990 2014

@ mattgmg1990つまり、git pull / pushを実行するたびに、そのようなコードを追加/削除する必要があります。なんという痛み...
ジャガー

1
この答えはあなたにとって役に立つかもしれません
PavelGP '25 / 04/16

回答:


211
adb uninstall <package_name>

PC経由でアプリをアンインストールするために使用できます。Android Studioを介してアプリを起動するたびにこれが自動的に行われるようにするには、次のようにします。

  1. Android Studioで、[実行]ボタンの左側にあるドロップダウンリストをクリックし、[構成の編集...]を選択します。
  2. Androidアプリケーションの下のアプリをクリックし、全般タブで、「起動前」という見出しを見つけます
  3. +ボタンをクリックし、[外部ツールの実行]を選択して、ポップアップウィンドウの[+]ボタンをクリックします。
  4. 名前(例:adb uninstall)と説明を入力しadb、Program:およびuninstall <your-package-name>Parameters :と入力します。ポップアップウィンドウで[OK]をクリックしたときに、新しい項目が選択されていることを確認してください。

注:PATH環境変数にadbがない場合は、Program:フィールドにadbへの絶対パスを指定します(例:/ home / user / android / sdk / platform-tools / adb)。


2
いくつかのヒント/注意事項:複数のエミュレーターまたはデバイスを実行している場合は、adb -s <devicename>を含めます。Android Studioのマクロは正しく機能しないため(v1.50.x)、adbの完全パスまたは環境パスに配置する必要があります。
Nick

@aravindsagarデバイスのすべてのパッケージをリストしましたが、アプリのパッケージ名はありませんでしたが、それでもエラー[DELETE_FAILED_INTERNAL_ERROR]が表示されます。これはなぜですか。
Dinesh Phalwadiya

91

adb uninstall com.my.firstapp

5
パッケージ名がわからないがapkがある場合は、このstackoverflow.com/a/37324607/812915で
2016年

1
内容を見ていると、「Android Studioでデバッグ/実行する前に自動的にアンインストールする」と質問していました。この答えは「自動的に」解決策を提供しませんでした。もっと怠惰にすべきですよね?:)
ジャガー

15

次の方法でパッケージをリストします。

adb shell su 0 pm list packages

アンインストールするパッケージを確認し、そこからパッケージ名をコピーします。例えば:

com.android.calculator2

最後に入力してください:

adb uninstall com.android.calculator2 

これで完了です。


4
ルート権限を取得していない人はsu 0、list packagesコマンドから省略してください。
villecoder、

12

使用していAndroid Studio 2.1.2ます。OPと同じ要件がありました。上記の2つの回答はすべての人に役立つように見えましたが、私にとってはうまくいきませんでした。私は私のために働いたものを共有しています。

に移動しmain menu/Run/Edit Configurationます。左側のappAndroid Applicationを選択します。これにより、マルチタブペインが開きます。Generalタブを選択し(デフォルトになります)、+下部(テキストの下)にある緑色の歌をクリックしますBefore launch: Gradle -awake ...

ドロップダウンが表示されるので、Gradle-aware-makeオプションを選択します。別のテキストボックスがポップアップします。:app:uninstallAllこのテキストボックスに入力します。(ctrl+ spaceを使用すると、オートコンプリートを使用して、すべてを入力せずに適切なターゲットを決定できます。また、使用可能な適切なアプリ名を選択するのにも役立ちます)。と設定しapply/okます。アプリを再起動します。

注:アプリを今すぐ起動するたびに、この新しいターゲットはエミュレータまたはデバイスからアプリをアンインストールしようとします。したがって、テストデバイスが利用できない場合、アンインストール中に起動に失敗する可能性がありますが、エミュレータは引き続き起動します。したがって、最初にエミュレータを起動するか、最初に失敗した後に再起動します(最初の起動ではエミュレータが起動しますが、アンインストールは失敗します)。


1
これはうまく機能しappますが、などの実際のモジュールの名前に置き換える必要がありますmyMainApp
ジンバリ2016

1
うん、オートコンプリートを使用するには、ポップアップでctrl+ spaceを使用するだけです。アプリも決定します。
ジミー

11

単一のデバイス/エミュレーターに接続しているときにアンインストールする場合は、以下のコマンドを使用します

adb uninstall <package name>

それ以外の場合は、複数のデバイスで以下のコマンドを使用します

adb -s <device ID> uninstall <package name>

4

私は「adb idea」と呼ばれるAndroid Studioプラグインを使用します-接続またはシミュレートされた任意のデバイスをターゲットにできるさまざまな機能(アンインストール、キル、スタートなど)のドロップダウンメニューがあります。私はadbコマンドの能力をより深く理解することから一歩離れて、おそらく同意するだろうと主張することができます...とにかく私は実際に低いレベルの理解で操作しているので、私にとってはヘルパー。ADBのアイデア ここに画像の説明を入力してください


3

シンプルな3ステップのプロセス(Mac端末で確認)

  1. Androidデバイスを接続します(一度に1つのAndroidデバイスを接続してください)。できればケーブルで接続を確認し、接続を確認します(デバイスのIDデバイスIDがリストされます)。

    adb devices
  2. 次に、ターミナルで実行して、接続されたデバイス上のすべてのアプリパッケージを一覧表示するには

    adb shell pm list packages -f -3 
  3. 次に、前述のようにアンインストールします

    adb uninstall <package_name> 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.