Android
<google>ENGELSK</google>
Nexus S - Firmware download
FAQ
Rooting
If you have Gingerbread 2.3.1 you can use this method first without loosing data:
If you are running x64 Windows and the USB driver fails to load when the phone is in bootloader mode, install PdaNet for Android, and it's USB driver.
Then you can install Titanium Backup, and back up your system.
After backing everything up, unlock the phone, this will wipe all applications, data and the SD card.
Upgrade to 2.3.3 (this will unroot the phone again).
Use one of the two methods (the last is the easy one):
- How to Root Android 2.3.3 Gingerbread on Nexus S? Complete Step-by-Step Guide
- Use Superboot to Root Android 2.3.3 Gingerbread on Nexus S - 2.3.3
Regain root access after upgrading Nexus S from 2.3.4 to 2.3.6
- 24 Sep 11 Root Access for Nexus One on Android 2.3.6 (GRK39F) / Superboot - Don't do it, it doesn't work
How to root Nexus S with Ice Cream Sandwich (ICS) manually
First get a backup of your existing boot image
- You can download ClockWorkMod from here:
- Power the Nexus S down, and hold Volume Up & the Power button until booted into the bootloader
- Verify your phone is connected with yout PC:
- >fastboot.exe devices
- Boot your phone with fastboot and the ClockworkMod image on a PC.
- >fastboot.exe boot recovery-clockwork-5.0.2.0-crespo.img
- Make a backup to the of the phone with ClockworkMod
- - backup and restore
- - Backup
- Boot your phone to Android again, and copy the ClockworkMod backup to your PC.
- It is loccated in \clockworkmod\backup...
- Locate boot.img in the backup and put it in an empty folder on an Ubunto system
On Ubunto
- Download split_bootimg.pl
- Download The superuser app from here: androisu.com
- copy split_bootimg.pl and mkbootimg to the same folder
- $ chmod +x split_bootimg.pl
- $ chmod +x mkbootimg
- $ ./split_bootimg.pl boot.img
- Page size: 4096 (0x00001000)
- Kernel size: 2858444 (0x002b9dcc)
- Ramdisk size: 143086 (0x00022eee)
- Second size: 0 (0x00000000)
- Board name:
- Command line: console=ttyFIQ0 no_console_suspend
- Writing boot.img-kernel ... complete.
- Writing boot.img-ramdisk.gz ... complete
- Now you have
- boot.img-kernel
- boot.img-ramdisk.gz
- $ gzip -d boot.img-ramdisk.gz (extract the ramdisk)
- $ mkdir tmp
- $ cd tmp
- $ cpio -i -F ../boot.img-ramdisk (extract the ramdisk in the tmp folder to have a clean environment)
- Edit the file init.rc and find the line ## Daemon processes to be run by init.
- After the second ##
- Insert the folowing four lines:
- service superboot /system/bin/sh /superboot/superboot.sh
- class main
- user root
- group root
- oneshot
- Save the file and quit
- $ mkdir superboot
- Create the files:
- superboot/superboot/su
- superboot/su
- superboot/superboot.sh
- superboot/Superuser.apk
- $ find . | cpio -o -H newc | gzip > ../newramdisk.gz
- $ cd ..
- $ ./mkbootimg --kernel boot.img-kernel --ramdisk newramdisk.gz --cmdline 'console=ttyFIQ0 no_console_suspend' --base 0x30000000 --pagesize 4096 --output newboot.img
Content of superboot.sh should be:
mount -o rw,remount -t ext4 /dev/block/platform/s3c-sdhci.0/by-name/system /system rm /system/bin/su rm /system/xbin/su mkdir /system/xbin cat /superboot/su>/system/xbin/su chmod 6755 /system/xbin/su cat /superboot/Superuser.apk>/system/app/Superuser.apk mount -o ro,remount -t ext4 /dev/block/platform/s3c-sdhci.0/by-name/system /system
Flash the new image to your phone
On Windows:
- Verify it works before flashing
- >fastboot.exe boot newboot.img
- Flash image
- >fastboot.exe flash boot newboot.img
- >fastboot.exe reboot
Additional information
How to compile mkbootimg
- Get Android source code: http://source.android.com/source/downloading.html
- $ cd /path/to/android-src
- $ cd system/core/libmincrypt/
- $ gcc -c *.c -I../include
- $ ar rcs libmincrypt.a *.o
- $ cd ../mkbootimg
- $ gcc mkbootimg.c -o mkbootimg -I../include ../libmincrypt/libmincrypt.a
- $ cd ../cpio
- $ gcc mkbootfs.c -o mkbootfs -I../include
Commandline parameters
copy system/core/mkbootimg/mkbootimg, system/core/cpio/mkbootfs to a directory in your path. location: tools/mkbootimg/mkbootimg.c
Additional links
- AndroidSU.com - The Superuser app for Android's homepage
- The Android boot process from power on
- ClockworkMod Homepage
- ClockworkMod Android Market
- HOWTO: Unpack, Edit, and Re-Pack Boot Images
- How-To: compile the Nexus S kernel from source
- Romdump (So you've decided to
steal cabledump your ROM)
Android manual updating
- Guide - Manually Update Google Nexus One & Nexus S to Android 2.3.3 Gingerbread
- Android update from 2.3.2 to 2.3.3 (GRH78C to GRI40)
- Android update from 2.3.1 to 2.3.3 (GRH78 to GRI40)
- Update from 2.3.3 to 2.3.4 (GRI40 or GRI54 to GRJ22)
- Full GRJ22 ROM update
- Links for all Nexus S OTA Updates for All Variants
fastboot boot recovery-clockwork-3.0.0.5-passion.img
Google Nexus S
- TechCrunch Review: Google Nexus S
- Nexus S - The new Android phone from Google
- Android 2.3 User's Guide
- Nexus S on PDAdb.net
Will the GPS chip be Broadcom BCM4751 as in Samsungs Galaxy S?
Using Nexus S from US in DK
What's inside
Samsung Galaxy 2
Update SDK
- cd to your 'android-sdk-windows' folder
- From the command-line you can also directly trigger an update by executing: ' tools\android.bat update sdk'
- Start eclipse
- Select 'Help - Check for updates'
Add Android device for developing
You have to select browse when adding driver and point to your 'android-sdk-windows'
Emulator commands
Start emulator
- emulator -avd <MyDevice>
Show emulators running
- adb devices
Install program (-s <devicename> not nessesary if only one is running)
- adb -s <devicename> install <program.apk>
Gui design
Sound
Activities
Boot order
Android web sites
- Android developers
- Androidforum.dk
- Google APIs add-on & Android Cloud to Device Messaging
- getandroidstuff.com - Download Android Applications, Games, Themes. Android News and Reviews.
- anddev.org Android Development Community - Android Tutorials
Android source
- source.android.com - Here you can find the information and source code you need to build an Android-compatible device
- Initializing a Build Environment
- Building Android kernel images
- Code Style Guidelines for Contributors
- Browse Android sourcecode here
Disassembling
It is a tool for reengineering 3rd party, closed, binary Android apps. It can decode resources to nearly original form and rebuild them after making some modifications.
Use dex2jar to translate .dex to .jar file then use JD-GUI to open the .jar file and view the .class files in the project.
JD-GUI is a standalone graphical utility that displays Java source codes of “.class” files. You can browse the reconstructed source code with the JD-GUI for instant access to methods and fields.
Obfuscating
Outlook and Exchange sync
- Microsoft Exchange Information Services and Security Policies Supported by Android 2.2 and 2.3
- Set up an Exchange account on your Android phone
Apps for android
Set Locale
Custom Locale allows you to modify the Locale of your Android device to anything you like.
Notifications
Display custom notification icons/dots on the screen. It was developed for the Samsung Galaxy S which lacks a physical dedicated LED.
- NoLED
- APP NoLED - Use the AMOLED screen for incoming notifications - here you can find the beta versions
- Forum
Smart car navigation software for mobile phones. Taking a stroll with pedestrian navigation.
Voice
Mono on Android
Bluetooth
- Bluetooth - Wikipedia
- Bluetooth profile - Wikipedia
- Android Bluetooth Introduction
- Android Bluetooth API
Notes:
Nokia CK-7W will ecco on callees side if phones bluetooth Class of Device (COD) is set to Smartphone. On Windows CE it is set in HKEY_LOCAL_MACHINE\Software\Microsoft\Bluetooth\Sys\COD
0x5A020C = smart phone 0x52020C = normal cell phone
- I tried altering the CoD parameters in the /system/etc/bluetooth/main.conf file, but it seems that this file isn't even being used (or at least the CoD isn't) and is simply a default.
- I tried installing hciconfig and changing the CoD that way, but hciconfig is unable to find any bluetooth devices.
...at least not on Samsung
Bluetooth redirect discussions
- How to redirect audio to bluetooth headset?
- Routing audio to Bluetooth Headset (non-A2DP) on Android
- Navigation prompts via Bluetooth headset
- BTmono
- Audio and Video including sample recorder
- Android audio recording, part 2
Debugging
Reverse engineering
Exchange ActiveSync and other sync
Java implementation of the Exchange Web Services (EWS) API. This API gives developers programmatic access to Exchange Server 2007 SP1 and above.
- EWS Java API 1.1 - Microsoft
- Embedded Java - Wikipedia
- Including additional javax.* packages in your Android App
DirectPush
Axis2
ksoap2
/EWS/Services.wsdl
NTLM and java
¨
- Exchange Server 2010 SP1 Web Services SDK
- Introduction to Exchange Web Services in Exchange 2007
- Creating an Exchange Web Services Client Application
- The Exchange Team Block
Text To Speech TTS
- Using Text-to-Speech
- Steps to create a Sample TextToSpeech
- http://blog.7touchgroup.com/tag/texttospeech-setlanguage/
The SpeechSynthesis class provides a high-level api to create and play synthesized speech. This class is used internally to talk to a native TTS library that implements the interface defined in frameworks/base/include/tts/TtsEngine.h
eSpeak is a compact open source software speech synthesizer for English and other languages, for Linux and Windows.
Google I/O
2011
2010
Eclipse
Eclipse
- Eclipse and Java for Total Beginners
- Subclipse - an Eclipse Team Provider plug-in providing support for Subversion
Eclipse and UML
Green UML
Fantastic simple UML tool, thet can create UML diagrams from code!
Manual installation of plugins (dropins folder)
If you’re using Plugins where no Software Site is available, then you can use the Dropins folder in your Eclipse installation directory.
To do this put the plugin into Eclipse "dropins" folder and restart Eclipse. Eclipse should detect the new plugin and install it for you.
To create UML diagram from code right click in Package Explorer in Eclipse and select Green UML in the context menu.
Eclipse UML2 Tools
UML2 Tools SDK* UML with Eclipse Tutorial
Galileo - http://download.eclipse.org/releases/galileo
Install the following plugin: UML2 Tools SDK
Android C native development
Mercurial SCM - Source Control Management
- Mercurila - Wikipedia
- Hg Init: a Mercurial tutorial
- Turnkey - Revision Control Appliance - All-in-one code repository
mercurial.selenic.com
The convert extension converts repositories from other SCMs (or even Mercurial itself) into Mercurial repositories.
Eclipse and Mercurial
- MercurialEclipse (was: HgEclipse)
- MercurialEclipse - JavaForge
- DVCS part 2: initialize and import from local Repositories (EGit – HgEclipse)
Visual Studio and Mercurial
Other stuff
External GPS
Other android sites
Accessories
Bags
Bluetooth Car Kits
Don't use Nokia CK-7W, if it is used with a smartphone the callee will hear echo.
Car Holders
- Samsung Nexus S / Google Nexus S Brodit Holder - 513227
- Herbert Richter Adapter plate Self-adhesive to 4-Holes - 1471
- Google Nexus S Herbert Richter mount and Brodit holder combo
Desktop Dock
Reviews
Android Phone Reviews
- iPhone 4 Vs Samsung Galaxy S (GT-i9000) – PART 1
- iPhone 4 Vs Samsung Galaxy S (GT-i9000) – PART 2
- Samsung's Galaxy S scores in benchmarks - CNET
Samsung GPS problems
- Samsung S GPS problems
- Samsung GPS FIX?
- Quick fix for GPS issues on your new Samsung Galaxy S series phone
- Galaxy X Samsung Galaxy S Froyo Update Begins Rollout
Android applications
<google>ENGELSK</google>