如何(强行)从模拟器实例中删除股票Android手机应用程序?
我特别喜欢那些已成功删除电话应用程序的人的答案。
删除电话应用程序可能还需要移除联系人应用程序,因为它们紧密集成,这很好。
解决方案
经过大量研究后,似乎唯一的解决方案是从源代码重建Android SDK,如Maciej Pigulski answered。
fetching the android source之后,从Android生成文件Phone
中删除Contacts
和build/target/product/core.mk
。并照常构建SDK,即:
. build/envsetup.sh
lunch generic-eng
make sdk
在out/host/linux-x86/sdk
中,您将拥有一个包含新的新SD卡的zip文件,可用于例如蚀。
答案 0 :(得分:2)
我成功删除了手机应用,但没有重建SDK(很长时间运行...)
您可以在SDK中编辑system.img(位于ex:〜/ android-sdk-linux_x86 / platforms / android-10 / images / system.img),对应于模拟器的系统部分(Phone's位于/system/apps/Phone.apk)
我启动了模拟器,将adb连接到模拟器shell。在使用读/写选项重新挂载系统分区后,我删除了打包的/system/apps/Phone.pak(mount -o rw,remount / system / system)
我在我的模拟器中输入为此处找到的arm编译的mkfs.yaffs2工具(http://code.google.com/p/android-group-korea/downloads/detail?name=mkfs.yaffs2.arm)
使用此工具在我的模拟器shell中重新创建我的system.img: mkfs.yaffs2 / system /sdcard/system.img
将/sdcard/system.img拉入我的电脑。替换模拟器的system.img(〜/ android-sdk-linux_x86 / platforms / android-10 / images / system.img)并重启模拟器。
手机应用已经过去了!
答案 1 :(得分:1)
如果您具有root访问权限,则可以删除提供此应用程序的.apk文件。您必须环顾安装它的设备上的文件夹。
答案 2 :(得分:1)
我知道如何做到这一点,但这不是一个简单的方法。
它需要Android OS的源代码,您需要一个模拟器。然后在make文件中,您可以禁用包括Phone应用程序到输出图像,并使用'make sdk'任务构建操作系统。这将生成一个SDK(如Google网站提供的SDK),其中包含已排除电话应用程序的二进制文件。然后,当您使用此SDK创建模拟器时,它将没有Phone.apk。
痛苦但如果你真的需要它,试一试。
答案 3 :(得分:0)
可能需要在模拟器上运行re-compile the Android OS。在编译期间default apps are rolled up into the build所以这将是鸡蛋在鸡蛋之前得到的问题......或者在鸡蛋产卵之前杀死它...