Android

From Yggenyk
Jump to navigation Jump to search

<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):


Regain root access after upgrading Nexus S from 2.3.4 to 2.3.6

How to root manually

First get a backup of your existing boot image
  1. You can download ClockWorkMod from here:
  2. Power the Nexus S down, and hold Volume Up & the Power button until booted into the bootloader
  3. Verify your phone is connected with yout PC:
    >fastboot.exe devices
  4. Boot your phone with fastboot and the ClockworkMod image on a PC.
    >fastboot.exe boot recovery-clockwork-5.0.2.0-crespo.img
  5. Make a backup to the of the phone with ClockworkMod
    - backup and restore
    - Backup
  6. Boot your phone to Android again, and copy the ClockworkMod backup to your PC.
    It is loccated in \clockworkmod\backup...
  7. Locate boot.img in the backup and put it in an empty folder on an Ubunto system
On Ubunto
  1. Download split_bootimg.pl
  2. copy split_bootimg.pl and mkbootimg to the same folder
  3. $ chmod +x split_bootimg.pl
  4. $ chmod +x mkbootimg
  5. $ ./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
  6. Now you have
    boot.img-kernel
    boot.img-ramdisk.gz
  7. $ gzip -d boot.img-ramdisk.gz (extract the ramdisk)
  8. $ mkdir tmp
  9. $ cd tmp
  10. $ cpio -i -F ../boot.img-ramdisk (extract the ramdisk in the tmp folder to have a clean environment)
  11. 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
    user root
    group root
    oneshot
  12. Save the file and quit
  13. $ mkdir superboot
  14. Create the files:
    superboot/superboot/su
    superboot/su
    superboot/superboot.sh
    superboot/Superuser.apk
    $ find . | cpio -o -H newc | gzip > ../newramdisk.gz
  15. $ cd ..
  16. $ ./mkbootimg --kernel boot.img-kernel --ramdisk newramdisk.gz --cmdline 'console=ttyFIQ0 no_console_suspend' --base 0x30000000 --pagesize 4096 --output newboot.img
Flash the new image to your phone
  1. on Windows:
    >fastboot.exe flash boot newboot.img
    >fastboot.exe reboot


Additional information

How to compile mkbootimg
  1. Get Android source code: http://source.android.com/source/downloading.html
  2. $ cd /path/to/android-src
  3. $ cd system/core/libmincrypt/
  4. $ gcc -c *.c -I../include
  5. $ ar rcs libmincrypt.a *.o
  6. $ cd ../mkbootimg
  7. $ gcc mkbootimg.c -o mkbootimg -I../include ../libmincrypt/libmincrypt.a
  8. $ cd ../cpio
  9. $ gcc mkbootfs.c -o mkbootfs -I../include
Commandline parameters

cpio command line parameters

copy system/core/mkbootimg/mkbootimg, system/core/cpio/mkbootfs to a directory in your path. location: tools/mkbootimg/mkbootimg.c


Additional links

Android manual updating

fastboot boot recovery-clockwork-3.0.0.5-passion.img

Google Nexus S

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

  1. cd to your 'android-sdk-windows' folder
  2. From the command-line you can also directly trigger an update by executing: ' tools\android.bat update sdk'
  3. Start eclipse
  4. 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 source

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

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.

Navigation

Smart car navigation software for mobile phones. Taking a stroll with pedestrian navigation.

Voice

Mono on Android

Bluetooth

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
  1. 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.
  1. 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
Route Navigation audio to radio

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.

DirectPush

Axis2

ksoap2

/EWS/Services.wsdl

NTLM and java


¨

Text To Speech TTS

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 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

mercurial.selenic.com

The convert extension converts repositories from other SCMs (or even Mercurial itself) into Mercurial repositories.

Eclipse and Mercurial
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

Desktop Dock

Reviews

Android Phone Reviews

Samsung GPS problems

Android applications

<google>ENGELSK</google>

id=siteTree