adb卸载失败

我正在写一些示例应用程序。
在我debugging这些应用程序后,我的设备的应用程序pipe理中看不到卸载button。
当我做adb卸载,它总是说Failure without any reason.
在DDMS中,我看到我的apk存储在/data/app/com.k2g.leaveDemo-1.apk
我不知道我错过了什么。
我总是不得不重置我的设备摆脱这些应用程序:(

我需要签名吗?
我需要在debugging模式下做些什么?
还是取决于版本?

我正在使用三星S2。

Solutions Collecting From Web of "adb卸载失败"

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

 adb root adb shell pm list packages pm uninstall com.android.chrome 

在我的情况下,我有一个永久的“安全模式”的手机,所以只有/系统/应用程序/ /下的应用程序有机会运行。 因此,我安装它们以将.apk文件复制掉,然后批量卸载并复制到/ system / app /,擦除/caching并重新启动。 现在我有更多的应用程序运行,即使在安全的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 

擦除caching的电源。

这不是一个确切的答案,但如果您正在寻找卸载应用程序,因为你有一个更新的.apk安装,你可以试试这个:

 adb install -r yourapp.apk 

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

如果这是一个Android内部应用程序,您可能需要:

  • adbshell
  • mount -o rw,remount -t yaffs2 / dev / block / mtdblock3 / system
  • rm / system / app / your_app
  • rm / data / data / your_app
  • 删除/data/system/packages.xml中的任何条目
  • 删除/data/system/packages.list中的任何条目
  • 编辑AndroidManifest.xml并摆脱android:sharedUserId =“android.uid.shared”

这是在你自己的风险; – ,先在模拟器尝试…

我发现adb shell pm uninstall <package>工作一致, adb uninstall <package>没有。

看起来像你有一个应用程序,其中包含一个像这样的隐藏的设备pipe理员在这里: http : //www.symantec.com/security_response/writeup.jsp?docid=2013-060411-4146-99

只有先禁用设备pipe理员,才能卸载此类应用程序。 您可以使用https://play.google.com/store/apps/details?id=com.trendmicro.mtrt.hiddenDAcleaner将其禁用,或者通过将意图发送到调用接收器的应用程序禁用设备pipe理员&#x3002;

奥基我是在相同的情况下,我尝试了所有这一切都没有结果..最后的答案是接近..我得到了这样做:

为了得到你的包的正确名称做如下:

adb shell pm list packages | grep "name of your app here"

你应该看到你的应用程序的正确名称..所以现在这个只是工作:

 adb uninstall com.your-real-app-name 

最后命令运行再次运行:

 ionic run android 

打开你的应用程序首先清单并检查应用程序的包。

之后,请确保您的设备已设置为debugging器模式。

检查亚行是否可以与您的设备进行交互:

adb设备

如果您的设备已列出,请运行:

adb卸载PACKAGE_WRITTEN_IN_MANIFEST

您应该必须手动删除应用程序。 进入设置 – >应用程序pipe理 – >运行应用程序,点击它,你可以删除,停止从那里的应用程序。

也许你正试图卸载一个电话pipe理员的应用程序。

要能够卸载它,请转到“查询”>“安全”>“电话pipe理员”。 如果应用程序已列出,请取消选中并确认操作。

之后,您应该可以使用应用程序设置区域或adb将其卸载。

你有apk的名字而不是包名:你应该首先知道包的名字。 录下这个磁带:

adb shel下午列表包

一旦你有包名称( 小心,包名称是像com.intel ….而不是包:com.intel … ),磁带:

adb shell pm卸载-k“package_name”

和Bingo!

这可能是像在错误的情况下input包名一样简单的事情…

我遇到了同样的问题 – 事实上,当实际的软件包名称包含大写字符时,我input的是全部小写的软件包名称。

 adb uninstall -k <packageName - eg. com.test.app> 

(如果你明确地卸载你可能不希望-k保留应用程序数据和caching目录。)

如果您在通过adb卸载时遇到问题,我可以推荐以下工具:

https://github.com/patrickfav/uber-adb-tools

你可以使用通配符并支持多种设备,也比香草的ADB有更好的error handling(当然在后台使用它)。 将在您的平台上工作。

控制台展示

完全免责声明:我是开发人员

尝试从设置窗口中禁用“即时运行”

确保input完整的软件包名称和应用程序名称:

 com.domain.app 

使用adb shell时出现故障卸载com.package.app/

删除/(所以adbshell卸载com.package.app),它的工作原理

我有一个模拟器运行的实例和一个设备连接。

当我运行命令`adb -d卸载PACKAGE_NAME'时,出现'DELETE_FAILED_INTERNAL_ERROR'错误,但当我杀死了Emulator实例时,我在卸载过程中获得了“成功”。

在我的情况下,我经常遇到这个问题,当我第一次complise在debugging模式的应用程序,后来尝试安装谷歌签名的应用程序。

这是因为这两个应用程序具有相同的包名称,但签名不同。 由于我升级到Android lollypop我有时甚至得到这个错误,如果我通过settings \ Apps卸载应用程序。 如果您遇到此问题,请检查该应用是否安装在其他用户个人资料中,并将其卸载到所有用户帐户中。

我有同样的问题。 input广告卸载后,我得到了“失败[DELETE_FAILED_INTERNAL_ERROR]”。 花了一些时间弄清楚什么是错的,我突然意识到我的软件包名字有一个拼写错误…呃,这可能不是你需要的答案。 以防万一你对我有同样的问题。

这对我工作:

这是所有APK存储的目录:

 cd /system/app 

列出他们:

 ls 

select一个删除。

 pm install -r <app_to_remove>.apk 

例:

 $ pm install -r Google-Play-services.apk pkg: Google-Play-services.apk Success 


我注意到,如果我试图删除的应用程序正在运行,那么我会失败,所以先杀掉它。

另外,我注意到你可能必须运行(在一个根设备上):

 $ su # mount -o remount +rw / 

您可以按照以下步骤通过命令提示符从设备上卸载应用程序。

  1. 执行命令:adb -s [devicename] uninstall -k [packagename]。 此命令将保留设备中的数据和caching,但将从设备中删除应用程序。
  2. 要从设备中删除数据和caching以及应用程序,请执行以下命令。 adb shell pm卸载-k [软件包名称]。

如果显示成功,您的应用程序已成功卸载