I am writing some sample apps.
After I debug these apps, I don't see an uninstall button in my device's application management.
When I do adb uninstall, it always says Failure without any reason.
In DDMS I saw that my apk is stored in /data/app/com.k2g.leaveDemo-1.apk
.
I am not sure what am I missing.
I always have to reset my device to get rid of these apps :(
Do I need to do sign something?
Do I need to do something in debug mode?
Or does it depend on the version?
I am using Samsung S2.
To uninstall most apps, find the app you want to say goodbye to in your apps list. Long press the app and then tap More info. Then, tap uninstall. Say goodbye to the app and it'll be off your phone in a few moments.
I assume that you enable developer mode
on your android device and you are connected to your device and you have shell access (adb shell
).
Once this is done you can uninstall application with this command pm uninstall --user 0 <package.name>
. Where 0 is ID of main user in Android system. This way you don't need to root your device.
Here is an example how I did on my Huawei p10 lite device.
# gain shell access $ adb shell # check who you are $ whoami shell # obtain user id $ id uid=2000(shell) gid=2000(shell) # list packages $ pm list packages | grep google package:com.google.android.youtube package:com.google.android.ext.services package:com.google.android.googlequicksearchbox package:com.google.android.onetimeinitializer package:com.google.android.ext.shared package:com.google.android.apps.docs.editors.sheets package:com.google.android.configupdater package:com.google.android.marvin.talkback package:com.google.android.apps.tachyon package:com.google.android.instantapps.supervisor package:com.google.android.setupwizard package:com.google.android.music package:com.google.android.apps.docs package:com.google.android.apps.maps package:com.google.android.webview package:com.google.android.syncadapters.contacts package:com.google.android.packageinstaller package:com.google.android.gm package:com.google.android.gms package:com.google.android.gsf package:com.google.android.tts package:com.google.android.partnersetup package:com.google.android.videos package:com.google.android.feedback package:com.google.android.printservice.recommendation package:com.google.android.apps.photos package:com.google.android.syncadapters.calendar package:com.google.android.gsf.login package:com.google.android.backuptransport package:com.google.android.inputmethod.latin # uninstall google play services (warning: take backup first!) pm uninstall --user 0 com.google.android.gms
Yes, mobile device management would bring its own problems, but i bet 'Failure' is a dos2unix problem. On my Linux machines, adb is appending a DOS newline which causes 'Failure' because uninstall thinks the CR character is part of the package name. Also remove '-1.apk' from the end of the package-1.apk filename.
adb root adb shell pm list packages pm uninstall com.android.chrome
In my case, i have a phone that is in permanent 'Safe mode' so only apps under /system/app/ have a chance of running. So i install them to get the .apk files copied off, then uninstall in bulk and copy to /system/app/, wipe the /cache and reboot. Now i have more apps running even though in safe mdoe.
# adb root # pm list packages -3 > /root/bulkuninstall.txt # vi /root/bulkuninstall.txt and check ^M characters at end of each line. If ^M, then must run dos2unix /root/bulkuninstall.txt. Remove '-1.apk' using vi search and replace: :%s/-1\.apk//g Or sed... # cp /data/app/* /storage/sdcard1/APKs/ # for f in `cat /root/bulkuninstall.txt`; do echo $f; pm uninstall $f; done; # # echo Now remount system and copy the APK files to /system/app/ # mount | grep system # mount -o remount,rw /dev/block/(use block device from previous step) /system # cp /storage/sdcard1/APKs/* /system/app/ # reboot
wipe cache power on.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With