首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >adb卸载失败

adb卸载失败
EN

Stack Overflow用户
提问于 2012-11-24 03:43:12
回答 23查看 222.6K关注 0票数 75

我正在写一些示例应用程序。

调试这些应用程序后,我在设备的应用程序管理中看不到卸载按钮。

当我卸载adb时,它总是显示Failure without any reason.

在DDMS中,我看到我的apk存储在/data/app/com.k2g.leaveDemo-1.apk中。

我不确定我错过了什么。

我总是不得不重启我的设备来摆脱这些应用程序:

我需要签些什么吗?

我是否需要在调试模式下执行某些操作?

或者它依赖于版本?

我用的是三星S2。

EN

回答 23

Stack Overflow用户

发布于 2018-01-04 03:22:27

我假设你在你的android设备上启用了developer mode,并且你已经连接到你的设备并且你有shell访问(adb shell)。

完成此操作后,您可以使用此命令pm uninstall --user 0 <package.name>卸载应用程序。其中,为安卓系统主用户ID。这样你就不需要在你的设备上建立根了。

这是我在我的华为p10 lite设备上做的一个例子。

代码语言:javascript
运行
复制
# 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
票数 80
EN

Stack Overflow用户

发布于 2013-03-11 12:53:35

是的,移动设备管理会带来它自己的问题,但我打赌“失败”是一个dos2unix问题。在我的Linux机器上,adb附加了一个DOS换行符,这会导致“失败”,因为卸载认为CR字符是包名的一部分。还要从package-1.apk文件名的末尾删除'-1.apk‘。

代码语言:javascript
运行
复制
adb root
adb shell
pm list packages
pm uninstall com.android.chrome

在我的例子中,我的手机处于永久的“安全模式”,因此只有/system/app/下的应用程序才有机会运行。所以我安装它们来复制.apk文件,然后批量卸载并复制到/system/app/,擦除/cache并重启。现在,我有更多的应用程序运行,即使在安全的mdoe。

代码语言:javascript
运行
复制
# 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

擦除高速缓存开机。

票数 54
EN

Stack Overflow用户

发布于 2014-02-08 01:37:07

这不是一个确切的答案,但如果你想卸载这个应用程序,因为你有一个更新的.apk要安装,你可以尝试这样做:

代码语言:javascript
运行
复制
adb install -r yourapp.apk

-r选项告诉adb重新安装应用程序

票数 38
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13534935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档