Android Studio : How to uninstall APK (or execute adb command) automatically before Run or Debug?

AndroidAndroid Studio

Android Problem Overview


Now I need to uninstall the App every time before Run\Debug it in Android Studio. Because I need to re-create the database before I run \debug the app. I know I can run the command

adb uninstall [package_name]

in terminal to clear the files under /data/data/[package_name]. But it's not convenient way if I have to execute the command every time. I hope the

adb uninstall

command can be executed automatically when I click Run\Debug button.

Android Solutions


Solution 1 - Android

adb uninstall <package_name>

can be used to uninstall an app via your PC. If you want this to happen automatically every time you launch your app via Android Studio, you can do this:

  1. In Android Studio, click the drop down list to the left of Run button, and select Edit configurations...
  2. Click on app under Android Application, and in General Tab, find the heading 'Before Launch'
  3. Click the + button, select Run external tool, click the + button in the popup window.
  4. Give some name (Eg adb uninstall) and description, and type adb in Program: and uninstall <your-package-name> in Parameters:. Make sure that the new item is selected when you click Ok in the popup window.

Note: If you do not have adb in your PATH environment variable, give the full path to adb in Program: field (eg /home/user/android/sdk/platform-tools/adb).

Solution 2 - Android

example

adb uninstall com.my.firstapp

Solution 3 - Android

This command with --user 0 do the job:

adb uninstall --user 0 <package_name>

Solution 4 - Android

If you want to uninstall when connected to single device/emulator then use below command

adb uninstall <package name>

else with multiple devices then use below command

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

Solution 5 - Android

List the packages by:

adb shell su 0 pm list packages

Review which package you want to uninstall and copy the package name from there. For example:

com.android.calculator2

Lastly type in:

adb uninstall com.android.calculator2 

and you are done.

Solution 6 - Android

I am using Android Studio 2.1.2. I had same requirement as OP. Though above two answer seemed to help everyone, it did not work for me . I am sharing what worked for me.

Go to main menu/Run/Edit Configuration . Select app under Android Application on the left.This should open multi-tabbed pane . Select General tab ( would be default), click green + sing at the bottom ( below text Before launch: Gradle -awake ...).

A drop down will appear, select Gradle-aware-make option. Another text box will pop up. enter :app:uninstallAll in this text box . (You can use ctrl + space to use autocomplete todetermine right target without typing everything . And also helps you choose the right app name that is avaiable for you). and set apply/ok. Relaunch your app.

Note : Every time you launch your app now , this new target will try to uninstall your app from your emulator or device. So if your testing device is not available, your launc will probably fail while uninstalling but will continue to start your emulator. So Either start your emulator first, or re-lauch after first fail again ( as first launch will start emulator though uninstall fails).

Solution 7 - Android

Use this cmd to display the packages in your device (for windows users)

adb shell pm list packages

then you can delete completely the package with the following cmd

adb uninstall com.example.myapp

Solution 8 - Android

I use an Android Studio plug-in called "adb idea" -- has a drop down menu for various functions (Uninstall, Kill, Start, etc) that you can target at any connected or simulated device. One could argue it takes me a step away from having a deeper understanding of the power of adb commands and I'd probably agree....though I'm really operating at a lower level of understanding anyway so for me it helps to have a helper. ADB Idea enter image description here

Solution 9 - Android

A simple three-step process (checked on mac terminal)

  1. Connect your android device (please connect 1 android Device at a time), preferably by a cable & Confirm connection by (this will list Device's ID device ID)

     adb devices
    
  2. Then to list all app packages on the connected device by running, on terminal

     adb shell pm list packages -f -3 
    
  3. Then uninstall as explained earlier

     adb uninstall <package_name> 
    

Solution 10 - Android

Run script before launch

Edit Configurations... -> Select App -> Before Launch + -> Run External tool + -> Name, Program adb, Arguments uninstall <package_name>

https://i.stack.imgur.com/kG982.png" height="200"/>

Solution 11 - Android

To add to above, if you can list and grep via:

$ adb shell pm list packages | grep -i <some_idea>

it will give you the name of the app, if you have some idea what the name of the package could be.

For example,

$ adb shell pm list packages | grep -i cal

package:com.android.providers.calendar

package:com.google.android.calendar

Then you can proceed with:

$ adb uninstall <package_name>

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJaggerView Question on Stackoverflow
Solution 1 - AndroidaravindsagarView Answer on Stackoverflow
Solution 2 - AndroidThiagoView Answer on Stackoverflow
Solution 3 - AndroidRodolfo Jorge Nemer NogueiraView Answer on Stackoverflow
Solution 4 - AndroidsummerGhostView Answer on Stackoverflow
Solution 5 - Androidkamran khaderView Answer on Stackoverflow
Solution 6 - AndroidJimmyView Answer on Stackoverflow
Solution 7 - AndroidAng67View Answer on Stackoverflow
Solution 8 - AndroidJoel ButlerView Answer on Stackoverflow
Solution 9 - AndroideaccmkView Answer on Stackoverflow
Solution 10 - AndroidyoAlex5View Answer on Stackoverflow
Solution 11 - AndroiddenhamnycView Answer on Stackoverflow