Android Studio : How to uninstall APK (or execute adb command) automatically before Run or Debug?
AndroidAndroid StudioAndroid 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:
- In Android Studio, click the drop down list to the left of Run button, and select Edit configurations...
- Click on app under Android Application, and in General Tab, find the heading 'Before Launch'
- Click the + button, select Run external tool, click the + button in the popup window.
- Give some name (Eg adb uninstall) and description, and type
adb
in Program: anduninstall <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
Solution 9 - Android
A simple three-step process (checked on mac terminal)
-
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
-
Then to list all app packages on the connected device by running, on terminal
adb shell pm list packages -f -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>