Question

I use Ubuntu 12.04, 64-bit, Acer Aspire One D270

I gave these commands

adb shell mount -rw -o remount /dev/block/mtdblock0 /system
adb shell rm /system/app/PinyinIME.apk
adb shell rm /system/app/LatinIME.apk
adb shell rm /system/app/OpenWnn.apk

and thought they were lethal weapons in getting rid of the thorny IMEs installed in the emulator, thereby enabling me to work solely with the hardware keyboard and saving me the trouble of going to Language and Keyboard settings each time I start the emulator and disabling the IMEs.

But I had never imagined that there would be even the remotest chance that all the IMEs (but for the sample soft keyboard which I removed using adb uninstall) would be back and enabled once I restarted the emulator for next use!

How to make the adb shell rm command permanent? It seems from this that the removals using uninstall are permanent. So I tried using the adb uninstall command to uninstall the other IMEs:

aneesh@nb-14:~$ adb uninstall jp.co.omronsoft.openwnn
Failure
aneesh@nb-14:~$ adb uninstall com.android.inputmethod.pinyin.PinyinIME
Failure
aneesh@nb-14:~$ adb uninstall com.android.inputmethod.latin.LatinIME
Failure

Why does this not work?? If none of the above is answerable then consider the following: In light of the fact that all the IMEs are reinstalled, it's obvious that theire installation is part of the booting process of the emulator. Can someone help me to remove these IME installation commands from the boot process??

I want this pain-in-the-ass killed because, if after inserting an emoticon (whatsapp) I change the position of the cursor to insert some text, I find that the cursor remains there for 3 to 8 seconds and goes back to its original position and the honourable dignitary, Latin keyboard comes up. Then it lets me insert text wherever I want until I again want to insert smileys. But this initial fuss each time I change cursor position does not augur well with me!

Snapshot enabling option is missing! Screenshot below:

enter image description here

As a result it's not surprising that even the Launch from Snapshot and Save from Snapshot options are disabled:

enter image description here

When I create an emulator from the latest version it still shows the same options as in the first screenshot in this question, no emulation options. Really strange! Been updating to newer sdk versions but never saw this development!

Was it helpful?

Solution

You cannot use adb uninstall on apps installed in the /system directory.

If those apps are "reappearing" after you restart the emulator, I would imagine it is because your emulator is not using snapshots, to save the current state when it closes.

If you are using Eclipse/AVD manager to manage your emulators, take a look at the pictures below. If you are using snapshots, and the apps are still restored, please comment or update your question. Then we can look for an alternate solution.

Enable snapsots when creating emulator:

enter image description here

Launch emulator from snapshot:

enter image description here

Images courtesy of: http://tools.android.com/recent/emulatorsnapshots

Edit:

In Ubuntu, you should still have the option to enable snapshots. I tested creating an emulator without initially enabling snapshots, and when I edit-ed the AVD, I had the snapshot option:

enter image description here

I am a little confused, since you have the snapshot option (albeit, not available) in the AVD launch options. Are you using the latest version of the SDK?

Edit 2:

When creating a new AVD, do you have the emulator options?

enter image description here

Edit 3:

Alright, I'm really starting to run out of ideas here. I take it that when you create an AVD you do not have the snapshot options? I updated to the latest version of the SDK manager and I did have them.

Try making an emulator through the command line:

Use:

android list targets

to get a list of target IDs.

Then create the AVD:

android create avd -t 12 -n test_002 -a --abi armeabi_v7a

The -a argument will specify that the emulator should use snapshots. In my case, 12 was the ID of 4.2.2, but it may vary so use the first command to find the ID you want. For more information on command line options see the following:

http://developer.android.com/tools/help/android.html http://developer.android.com/tools/help/emulator.html

You should be able to add combinations of -help to most of the commands to get additional help info.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top