Android

From Pandora Wiki
Revision as of 08:53, 4 November 2013 by Kingu (talk | contribs) (implemented fixes suggested by vinipsmaker)
Jump to: navigation, search

Android gingerbread 2.3

Installing Android

A quick step-by-step guide that will help you to get Android running on your Pandora.

This is a quick guide how to setup Android on your Pandora.

  1. You HAVE to have at least Ångström (SuperZaxxon Beta 5a was tested to work with this release at the time of writing this guide).
  2. Check the [Testing thread] and download the most recent PND from there. Be sure to put the Android PND onto the card that is in your LEFT slot.
  3. For safety reasons, if you want to use a second SD Card with Android, use an empty one. It MIGHT corrupt it. Based on my experience, Android deletes only files in the root directory of the second card. Anything in subdirectories will not be affected.
  4. If your date is not set properly: Do so before starting Android. If the date is in the past, there will be issues with the Google certification.
  5. Start Android from System/Android Gingerbread. It takes a while to boot. Once it has booted up, setup your WiFi connection.
  6. To install APKs, put them onto a second SD Card and run them using the built-in FileManager.
  7. To stop Android, select "Kill Android" from the menu.

Caveat: Installing PND/appdata on ext-2,3, or 4 formatted partitions (or any filesystem with permissions),causes problems (mainly with gapps, when the zip is extracted it does not retain correct permissions) use FAT32 instead.

Key mapping

Home : Pandora Button or F1[/background]
Back : Esc, Right nub to the right.
Menu : F2
Search : Unknown
Volume Up / Down : F12 / F11

Android apk file repositories

fdroid

[1]

High quality repo with only FOSS software. Recommended.

Google play store

1. Grab the needed data files from here: http://www.androidfilehost.com/?fid=22979706399755027 2. Simply extract the ZIP into the /pandora/appdata/android_gingerbread - Folder on your SD Card. Remove the meta-inf-Folder (otherwise, it might hang later). 3. On your next Android boot, the store setup should appear automatically (be sure you set up your WiFi connection before!) 4. The store should now work. In case you got connection issues (but internet itself works fine), be sure to doublecheck that the date is correctly set (you can only set that from Linux)!

Map Touchscreen Controls to physical controls

Not all games support physical controls - some only use the touchscreen. However, there's an app called "GameKeyboard 2.0" that will help you out :)

The usage is quite confusing, but here's a guide to help you with that.

  1. Go to CyanogenMod Settings and enable "Soft Keyboard" on long menu button press. This way you can bring up the keyboard in most games holding the Menu Button (doesn't work in all games, but will still work there).
  2. Run GameKeyboard and set it up (only needed the first time)
  3. Follow the on-screen instructions to enable it as SoftKeyboard and choose it as current SoftKeyboard.
  4. Then in the settings, do the following:
 Enable "Touchscreen Mode"
   Enable "Remap Hard-Key"
   Map your buttons with "Hardkey Mappings": Select a free slot, 
   press the desired D-Pad direction or button and select in the list 
   what it should be (i.e. D-Pad up to D-Pad up, etc.)
   Go into "Layout Edit" and allow "Layout Edit Mode"

This is the first-time setup, GameKeyboard is now ready to be used. Grant it root access when it asks for :)

  1. Run your game. If the touchscreen buttons and DPad are located in the default GameKeyboard locations, the Pandora controls should now just work.
  2. If buttons / DPad are somewhere else on the screen, hold the menu button which should show the GameKeyboard controls (doesn't work with all games).
  3. Move the controls around using the touchscreen to match the touchscreen controls. Some games hide them though when you press the menu button, some don't even show the GameKeyboard as they disable the softkeyboard. In this case, remember where DPad / buttons need to be, go to the GameKeyboard app and slide the controls at the desired location and then go back to the game.

Once that's done, the game will work with your physical gaming controls. As you can save different profiles in GameKeyboard, you only need to match the locations per game once and then safe the config.

  • Taken from this post on the pandora boards:

http://boards.openpandora.org/index.php?/topic/8871-how-to-install-android-on-your-pandora/page__pid__159757#entry159757

How to remap Android hardware keys

download Jota+(Text Editor) from the Play Store (the Android Market)

Now, download Root Browser (free or Pro will both work)

Now, open up the Root Browser and go to /system/usr/keylayout

Copy all the contents of that folder to /mnt/sdcard2/[WHATEVER YOU WANT TO CALL THIS FOLDER]

Now, copy the folder you just created above (containing the four files) and paste it back into the its self. Then rename this new sub folder "Backups" or "Originals"

Now, open Jota+, go to "menu" and click "file"

Click "Open..."

Navigate to the folder with the four .kl files and the Backups folder

Open gpio-keys.kl

change key 29 from "BUTTON_SELECT" to "BACK"

change key 56 from "BUTTON_START" to "MENU"

(you can make it whatever you want, really)

Here is a list of default key codes in Android http://code.google.com/p/androhid/wiki/Keycodes

save and exit.

Open Root Browser and copy gpio-keys.kl to /system/usr/keylayout and delete the old one

(delete the original before hitting "Paste)

Now, launch the "Kill Android" app, then relaunch android and confirm that the "Select" button now acts as the menu button and the "Start" button now acts as the back button.

Unfortunately, the coding for the nubs is incomplete and so I'm at a dead end here. Right_Nub_Down is mapped to Keycode 82 and Right_Nub_Left is mapped to keycode 4 but other than that, the nubs have no key functionality and so as far as I can tell, you can't change what they do. If anyone wants to look around and see if they can find a way, please post in thread.

[2] (It tells you the keycode for the key you're currently pressing. The only thing it lacks is the ability to show the code for anything mapped to "HOME" simply because doing so quits the app before it gets the chance to record the data)