View source for Manuals/Android
From Openmoko
You do not have permission to edit this page, for the following reasons:
You can view and copy the source of this page:
Templates used on this page:
Return to Manuals/Android.
You do not have permission to edit this page, for the following reasons:
You can view and copy the source of this page:
Templates used on this page:
Return to Manuals/Android.
Languages: |
English • العربية • Български • Česky • Dansk • Deutsch • Esperanto • Eesti • Español • فارسی • Suomi • Français • עברית • Magyar • Italiano • 한국어 • Nederlands • Norsk (bokmål) • Polski • Português • Română • Русский • Svenska • Slovenčina • Українська • 中文(中国大陆) • 中文(台灣) • Euskara • Català |
|
The Android for FreeRunner development can be found on http://code.google.com/p/android-on-freerunner/.
This page is dedicated to the daily usage of Android on the Neo 1973 and Neo FreeRunner handsets.
One can find general information (porting/development) about Android on Neo phones here : Android
You need the Android SDK on your PC/Laptop for executing commands on your Android, taking, screenshots uploading/downloading files from your Freerunner.
Instruction for installing Android SDK can be found on http://developer.android.com/sdk/installing.html
The homepage of Android on Freerunner can be found on http://code.google.com/p/android-on-freerunner/. The code.google-wiki guides you in preparing an SD-Card on your PC/Laptop, that will be inserted in your freerunner. After that you have reassembled your Freerunner and boot from MircoSD:
The Android Debugging Bridge ADB provides an Computer-Freerunner interface. You main need adb, that is part of the Android SDK. You can download the will find information regarding it on http://developer.android.com/sdk/index.html.
To improve the user guide screenshots are very helpful. Independent of your operating system on your PC (Linux, Mac, Windows) you can make screenshots with the SDK on triggered from your PC. Connect your Freerunner with Android via USB and enable USB-Debugging
You can make screenshots to enhance this guide by using ddms.
There are application for making a screenshot directly on your Freerunner, but you need a rooted Android for this.
#
If you see a command prompt like this ($), you can run the command as a regular user
$
adb
It is assumed that you have 'adb' installed on your pc and it is in your search path, like in /usr/bin or ~/bin. If not so, you need to change to the directory you downloaded the binary to. Issue the same commands but when ever adb appears replace it with
./adb
adb connects your system to Android but you need to make sure you have set it up correctly first. Make sure your FreeRunner was booted while being plugged in to a USB port. (Not necessary starting Koolu beta 7) Then run the following commands:
# ifconfig usb0 192.168.0.200 netmask 255.255.255.0 (or see below for USB network setup) # adb kill-server # ADBHOST=192.168.0.202 adb devices
adb help gives extensive info
One should now have no trouble using adb.
Installing Android on Openmoko Freerunner, creates a phone fit for use!
The aux button is configured as the back button. If the application recognizes the back action, like the browser, it goes a page or action back. If not recognized, one leaves the application to the previous situation. Note the application is not killed. It stays active.
Pressing the AUX button for more than 3sec than all active application can be selected.
The G1 and G2 Android phones have a home button, a long press on this button creates a window with all the running applications.
There is no clear key now, to show the running applications. Sometimes by chance a window with icons of the running applications appears, and then one can jump to a different running application.
I suggest to create this button from a two second press on the aux button. A window with the icons of the running applications will appear. By tapping on the wanted application we can than jump to the running application.
The keyboard appears when you select a field for input text or numbers.
Once the phone has started you will see a 'Dialer' icon on the desktop. Tap it and you will be presented with a dialing keypad. Enter the number you wish to dial and then touch the bar containing the number to call. If you make a mistake entering the number you can touch the backspace arrow to the right of the bar.
Caveats
Start SMS Application in Main Window.
Android has a copy and paste feature built in to it. By touching and holding on a text entry box for about 2 seconds the copy & paste menu will appear.
Works, can be tested with a simple game called Amazed. This can be installed on the current AoF images.
Android Eclair makes use of the accelerometers.
Works, latest kernels need permissions for second rfkill interface in init.rc to turn it on.
Works, you can install AndNav2 to test it. AndNav2 is e beta version and the useable period is over.
Proper working of GPS can observed with YGPS Satellites. It shows signal strength and location of each satellite.
To set up GPRS you need to enter the correct settings for your network: Tap the Application tab followed by Settings > Wireless controls > Mobile networks > Access Point Names. Now if you press the power button, a menu will appear allowing you to add a 'New APN'. Touch this then add your network's GPRS & MMS settings.
Once you have entered your APN details it maybe necessary to follow this procedure to start GPRS (you will only need to do this once):
Turn on Airplane mode, reboot, turn off Airplane mode
You may also have to carry out the DNS fix described below.
You can find most networks 'mcc' and 'mnc' numbers here
Enter these details to set up GPRS:
carrier="o2-UK-PAYG" (Name - can be anything) mcc="234" mnc="10" apn="payandgo.o2.co.uk" user="payandgo" server="Not set" password="password" type="default"
These details are also correct o2 settings but don't enter them, they stop GPRS from working properly at the moment.
mmsc="http://mmsc.mms.02.co.uk:8002" proxy="193.113.200.195" port="9201" mmsproxy="193.113.200.195" mmsport="9201"
Enter these details to set up GPRS:
carrier="T-Mobile-UK" (Name - can be anything) mcc="234" mnc="30" apn="general.t-mobile.uk" user="user" server="149.254.1.10" # server="149.254.201.132" (alternate server) password="wap" type="default"
Source : French Network parameter
GPRS settings (work):
apn="orange" user="orange" password="orange" mcc="208" mnc="01" type="default"
MMS settings (untested) :
apn="orange.acte" proxy="192.168.10.200" port="8080" user="orange" password : "orange" mmsc="http://mms.orange.fr" mms port="8080" mcc="208" mnc"01" type="mms"
Force use of Orange DNS in the ip-up script located in /system/etc/ppp :
/system/bin/setprop "net.gprs.dns1" "194.051.003.056"
apn="wap.cingular" username="wap@cingulargprs.com" pass="cingular1" mmsc="mmsc.cingular.com" mms proxy="wireless.cingular.com" mms port = 80 mcc= 310 mnc= 410
Wifi works on the koolu 7 distribution, but is a bit stubborn, one has to kick it to start, and when the signal is out of reach, it keeps the connection, instead of rescanning for a new access points. DNS is resolved properly, and the keyboard works in Koolu beta 7
Below is a beautiful work around for pre beta 6 versions:
Although wifi works, there are two problems; one, you can't bring up a keyboard to enter your encryption key and two, Android does not obtain the DNS settings properly from the router. Both can be worked around.
This involves copying and pasting the network key into the key field. These instructions use the aKeyUI,beautiful work aroun app but you could do it with the standard Note pad app.
Install aKeyUI this app allows you to enter text and copy it to a clipboard, which you can then paste into any test field:
Change directory to where you downloaded the app then install:
# adb install aKeyUI.apk
Touch the Application tab to display your installed apps, aKeyUI should be one of them. Load it up, enter the key for your wireless network and click copy.
Now go to 'Settings' > 'Wireless controls' > 'Wi-Fi settings' and you should see your wireless network listed there. Touch it and when it asks you for the key, long-touch the key field and select paste.
Caveats
Now you are connected but you need the DNS fix.
Boot your FreeRunner while connected to USB then run these commands:
# ifconfig usb0 192.168.0.200 netmask 255.255.255.0 # adb kill-server # ADBHOST=192.168.0.202 adb devices
# adb shell mount -o remount,rw /dev/root / # adb pull /etc/wifi/wpa_supplicant.conf wpa_supplicant.conf
You will now have the wpa_supplicant.conf file in your working directory, change its ownership so you can edit it (unless you edit it as root):
# chown YOUR_USER:YOUR_GROUP wpa_supplicant.conf
Now you can edit it to contain your wireless details, then push it back to the FreeRunner. For example add an uncommented section like this:
network={ ssid="example" proto=WPA key_mgmt=WPA-PSK pairwise=CCMP TKIP group=CCMP TKIP WEP104 WEP40 psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb priority=2 }
Save your changes, change the owner back to root and push it back to the FreeRunner:
# chown root:root wpa_supplicant.conf # adb push wpa_supplicant.conf /etc/wifi
Reboot the FreeRunner:
# adb shell sync # adb shell reboot
If you've changed the wpa_supplicant.conf file, it will need to be deleted in /data/misc/wifi/wpa_supplicant.conf
You now just need the DNS fix
Connect to Android using adb and pull your init.rc:
# ifconfig usb0 192.168.0.200 netmask 255.255.255.0 # adb kill-server # ADBHOST=192.168.0.202 adb devices # adb pull /init.rc init.rc
# chown YOUR_USER:YOUR_GROUP init.rc
Now find this part of your your init.rc, and add new lines containing the DNS value to the OpenDNS servers:
# Setup the DNS server for USB #setprop net.dns1 192.168.0.200 setprop net.dns1 208.67.222.222 setprop net.dns2 208.67.220.220
Change the ownership back to root and push it back to your FreeRunner:
# chown root:root init.rc # adb shell mount -o remount,rw /dev/root / # adb push init.rc /init.rc # adb shell sync # adb shell reboot
Works.
That's it if you don't see your contacts, make sure you selected "view all contacts" in the contacts application options (contacts > power button > Display group > All contacts)
It imports only names and telephone numbers, everything else is not imported.
Works, Contacts->menu->Settings->SIM contacts importer.
You can copy files to your phone using either
This option is not (yet) available in Koolu beta 7
or, from the command line using
ADBHOST=192.168.0.202 ./adb push file.txt /sdcard/
Can play OGG audio files and view pictures with the default applications
Waking up your phone might be a little bit tricky at the moment, there are several recipe/hints submitted by different people :
The general USB Networking guide should help you talk to your FreeRunner using IP over USB. However, please note that Android doesn't come with an ssh server installed by default. In order to gain shell access without an additional ssh server you can follow the instructions on the Android debug bridge page.
echo 1 > /sys/class/i2c-adapter/i2c-0/0-0073/neo1973-pm-host.0/hostmode echo host > /sys/devices/platform/s3c-ohci/usb_mode
TODO: If you know how to change the USB mode with Android, please explain it here. (See: To-Do List) |
I bought a mini USB keyboard that for my Neo, if someone has simple directions to use it with android, please explain it here.
This setting is named "Enable USB mass storage". If you don't find it on Settings -> SD card & phone storage, you have to unhide it with Anycut. Install it then make a new shortcut Activity -> SD Card. Use this new shortcut to activate the option. This is not persistent after a reboot. See also [1]
TODO: This doesn't seem to work with the Neo FreeRunner and current Android images. (See: To-Do List) |
For initial Android flashing, take a look at: Android on Freerunner
Applications are packaged in .apk packages, to install a package (downloaded on your computer) do
./adb install app.apk
After making sure you can talk to your phone using the Android debug bridge
Currently it is not possible to use the Android Market Place with the Neo Freerunner.
AndAppStore is an alternate source for Android software and works on the Neo Freerunner. It is installed by default in current Koolu images but you can install manually their client.
To assist in debugging and to gain shell access to the phone with Android, you can use the instructions found here: Android debug bridge
Type in the the Android Terminal emulator (under Development Tools)
setprop EXTERNAL_STORAGE_STATE mounted
or run
adb shell setprop EXTERNAL_STORAGE_STATE mounted
with the freerunner connected to a computer which has the Android SDK.