Reputation: 30128
How do I (forcibly) remove the stock android Phone application from the emulator instance?
I would especially like answers from people who have actually successfully removed the Phone application.
Removing the Phone application probably also necessitates removing the Contacts application, as they are tightly integrated, that is fine.
Solution
After much research it seems the only solution is to rebuild the Android SDK from source, as Maciej Pigulski answered.
After fetching the android source, remove Phone
and Contacts
from the Android makefile build/target/product/core.mk
. And build the SDK as usual, i.e.:
. build/envsetup.sh
lunch generic-eng
make sdk
And in out/host/linux-x86/sdk
you will have a zip file containg a fresh new sdk ready for use in e.g. Eclipse.
Upvotes: 1
Views: 3966
Reputation: 21
I successfully remove Phone apps WITHOUT rebuilding the SDK (very long op...)
You can edit you system.img in your SDK (located for ex : ~/android-sdk-linux_x86/platforms/android-10/images/system.img) corresponding to the system part of your emulator ( Phone apos is located at /system/apps/Phone.apk)
I launched the emulator, connect with adb to the emulator shell. I removed the packaged /system/apps/Phone.pak after remounting the system partition with read/write option ( mount -o rw,remount /system /system )
I push into my emulator the mkfs.yaffs2 tools compiled for arm found here (http://code.google.com/p/android-group-korea/downloads/detail?name=mkfs.yaffs2.arm)
use this tools to recreate my system.img in my emulator shell: mkfs.yaffs2 /system /sdcard/system.img
pull the /sdcard/system.img into my PC. Replace the system.img of the emulator (~/android-sdk-linux_x86/platforms/android-10/images/system.img) and restart the emulator.
The Phone app is Gone!
Upvotes: 2
Reputation: 11057
It may be necessary to re-compile the Android OS that is running on the emulator. During the compile the default apps are rolled up into the build so it would be a matter of getting the egg before the chicken... or killing the chicken before it lays the egg...
Upvotes: 0
Reputation: 1562
I have an idea how this could be done but this is not an easy way.
It requires source code of the Android OS you need an emulator for. Then in the make files you can disable including of the Phone application to the output image and build the OS with 'make sdk' task. This will produce an SDK (like ones available from the Google site) with the binaries that has Phone application excluded. Then when you will create an emulator with this SDK it wont have the Phone.apk.
Painful but if you really need it, give it a try.
Upvotes: 1
Reputation: 10303
If you have root acces you can remove the .apk file that provides this app. You would have to look around in the folders on the device where it is installed.
Upvotes: 1