enabling android accessibility within emulator

  • From: Florian Beijers <florianbeijers@xxxxxxxxx>
  • To: programmingblind@xxxxxxxxxxxxx
  • Date: Wed, 6 Jul 2011 17:36:38 +0200

Hi,

I've been playing with AVD's lately and with some help from Ken got it working 
finally :D. For anyone else out there who'd like to have a go at this, I wrote 
up a little guide on it.

Here it is, just let me know what you think or what I should change/improve.

Florian 

--------------------
Accessifying android virtual device (AVD)

1. Grab the android SDK off the android website. Quite easy just click the 
32-bit or 64-bit version, depending on your platform. I am using a mac for this 
one.
2. Extract the folder you got somewhere thats easy to find, you'll have to cd 
into it later.
3. On windows, run the manager executable in the root folder. Unix systems, run 
the android script located in /tools. Path relative from sdk root folder.
4. This launches and and sdk manager. First, download the appropriate sdk's. 
This should be self-explanatory just check what you want and uncheck what you 
don't want. I recommend getting android 2.2, 2.3 and 3.0. The latest, 3.1, i 
really don't recommend right now.
5. When this is all done, switch to the and tab and create a new avd.
6. This is pretty self-explanatory, fill in a reasonable size for sd card and 
name …shouldn't be too much trouble. When you get to the hardware part, click 
the New button to add a new property. I recommend adding audio playback 
support, keyboard support and d-pad support. These all default to Yes, so that 
is no problem. We're done here, click Create.
7. Now we have to do some manual editing of the config.ini file because the 
default ram size, 256 mess, is a bit low. These values can be changed from the 
and manager as well, but its a pain to do in windows and impossible on a mac 
when it comes to accessibility.
So, navigate to your users/username/.android directory. Windows should have a 
similar path. Do keep in mind that this is a hidden directory so it might not 
show up in explorer.
Open the and folder, and then open the xyz.avd folder. Xyz being the name you 
gave your avd.
8. Open the config.ini and ctrl+f for ram size. Change the value to 512, this 
is sufficient. Save and exit.
9. Now we need to grab some apk's. They can be found on the eyes-free google 
code page. A quick google should get you there. Click downloads and navigate to 
the table to find the packages you need:
- talkback
- tts extended
- com.svox.langpack.install (or something to that extent)

These are the required packages. You can of course grab others like the 
eyes-free shell too if you like.

10. Time to get our hands dirty. If you close the sdk and and manager, reopen 
it. Launch the and you created by selecting it in the list and clicking the 
start button followed by the launch button.
Wait a few minutes. While you wait, open a command prompt or terminal window 
and move to:
your-androoid-sdk-root/platform-tools

After a few minutes, run the command:
./adb shell

If this returns a root prompt, type exit to get out of it. If this returns an 
error: device offline or error: device not found, wait another minute. If the 
problem persists close the emulator and relaunch. This happens sometimes.
11. Ok, i am assuming you got the root prompt and have exited out of it. The 
dab command is used to mess with your AVD from the command line and it also 
allows you to install .apk files onto the device. The command is:
./adb install path-to-apk
Note: i am adding the ./ because i have not added the platform-tools to the 
path variable. It is of course not necessary to add it if you have done so.
 If you have added to the path variable, i think you have figured out by now 
that it was not necessary to move to platform-tools. In that case move to the 
directory where you stored the app files.
12. Now, what I did at this point was copy the app files to the platform-tools 
for easy access. The install command supports wildcards, so when the apk's are 
in the current working directory, run:
./adb install  Talk* (mind the capital T)
./adb install tts*
./adb install com*
And any other packages you may have downloaded.

13. Almost done, run the following commands without any variation to turn on 
the accessibility services: 

./adb shell sqlite3 
/data/data/com.android.providers.settings/databases/settings.db "insert into 
secure values (null, 'accessibility_enabled', '1');" 

./adb shell sqlite3 
/data/data/com.android.providers.settings/databases/settings.db "insert into 
secure values (null, 'enabled_accessibility_services', 
'com.google.android.marvin.talkback/com.google.android.marvin.talkback.TalkBackService:');"

If you are observant you might have seen that this process can easily be 
written up in a batch file or shell script. DO so if you like but don't change 
the above commands. Entering the sqlite3 environment directly can result in an 
unresponsive command prompt for some reason. This is fool-proof to my knowledge.
14. That's it. Close the emulator and relaunch. It should speak to you now. If 
not, bash the f2 key in a few minutes to unlock. Enjoy!

__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind

Other related posts: