RE: enabling android accessibility within emulator

  • From: "Ken Perry" <whistler@xxxxxxxxxxxxx>
  • To: <programmingblind@xxxxxxxxxxxxx>
  • Date: Wed, 6 Jul 2011 12:25:15 -0400

I would not suggest getting any of the eyes free shell or stuff because they
expect you to use a touch screen and you have  to use a mouse for that on
the emulator.

Ken

-----Original Message-----
From: programmingblind-bounce@xxxxxxxxxxxxx
[mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Florian Beijers
Sent: Wednesday, July 06, 2011 11:37 AM
To: programmingblind@xxxxxxxxxxxxx
Subject: enabling android accessibility within emulator

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.TalkB
ackService:');"

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

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

Other related posts: