Dobrica Pavlinušić's random unstructured stuff
Android development: Revision 25
I will try to collect here useful tips for making Android development work for command-line loving person like me. See [Android G1] if you are interested in hardware.
{toc: } ^ ADB Part of http://developer.android.com/sdk/index.html ^^ Remote adb access .pre dpavlin@t61p:~/Downloads/android$ adb shell # setprop service.adb.tcp.port 5555 .pre .pre dpavlin@t61p:~$ ssh -R 5555:192.168.1.40:5555 klin .pre .pre dpavlin@klin:~$ adb connect 127.0.0.1:5555 dpavlin@klin:~$ adb devices List of devices attached 127.0.0.1:5555 device .pre ^^ provision device * http://balloonboard.org/balloonwiki/AndroidBalloon .pre adb shell su cd /data/data/com.android.providers.settings/databases sqlite3 settings.db INSERT INTO system (name, value) VALUES ('device_provisioned', 1); .exit .pre ^ CyanogenMod * http://wiki.cyanogenmod.com/index.php?title=Compile_CyanogenMod_for_Dream_%26_Sapphire * enable swap with {file: 99swapon} in /system/etc/init.d/ ^^ Google apps .pre dpavlin@android:/srv/cyanogen$ cd device/htc/dream_sapphire dpavlin@android:/srv/cyanogen/device/htc/dream_sapphire$ wget \ --referer=http://developer.htc.com/google-io-device.html \ -O dream_sapphire_update.zip \ http://member.america.htc.com/download/RomCode/ADP/signed-google_ion-ota-14721.zip? .pre ^^ Build A *lot* of host dependencies to install and build. .pre dpavlin@android:/srv/cyanogen$ . build/envsetup.sh dpavlin@android:/srv/cyanogen$ lunch dpavlin@android:/srv/cyanogen$ make -j8 .pre ^^ flashing Transfer files you just built: .pre dpavlin@x200:/virtual/android/cyanogen$ rsync -v android:/srv/cyanogen/out/target/product/dream_sapphire/{boot.img,recovery.img,system.img,android-info.txt} 2010-09-25/ .pre Download fastboot from http://developer.htc.com/adp.html Start G1 by pressing camera+power button .pre dpavlin@x200:/virtual/android/cyanogen$ sudo ./fastboot devices HT840GZ00000 fastboot dpavlin@x200:/virtual/android/cyanogen$ sudo sh -c "ANDROID_PRODUCT_OUT=2010-09-25/ ./fastboot flashall" -------------------------------------------- Bootloader Version...: 1.33.2005 Baseband Version.....: 2.22.19.26I Serial Number........: HT840GZ33728 -------------------------------------------- checking product... OKAY checking version-bootloader... OKAY sending 'boot' (2234 KB)... OKAY writing 'boot'... OKAY sending 'recovery' (3308 KB)... OKAY writing 'recovery'... OKAY sending 'system' (92239 KB)... OKAY writing 'system'... OKAY rebooting... .pre * review changes: http://github.com/CyanogenMod/android_vendor_cyanogen/blob/froyo/CHANGELOG.mkdn ^ SL4A * http://code.google.com/p/android-scripting/wiki/RemoteControl ^ x86 * http://www.android-x86.org/getsourcecode ^^ froyo 2.2 .pre dpavlin@android:/srv/android-x86$ repo init -u git://git.android-x86.org/manifest.git -b froyo-x86 dpavlin@android:/srv/android-x86$ repo sync # configure build dpavlin@android:/srv/android-x86$ . build/envsetup.sh dpavlin@android:/srv/android-x86$ lunch # build dpavlin@android:/srv/android-x86$ make -j8 .pre audio doesn't work ^^ eclair 2.1 .pre dpavlin@android:/srv/android-x86$ repo init -u git://git.android-x86.org/manifest.git -b eclair-x86 dpavlin@android:/srv/android-x86$ repo sync dpavlin@android:/srv/android-x86$ make -j8 iso_img TARGET_PRODUCT=generic_x86 # doesn't work dpavlin@android:/srv/android-x86$ make -j8 iso_img TARGET_PRODUCT=eeepc .pre ^ Application build process * http://www.alittlemadness.com/2010/06/07/understanding-the-android-build-process/ ^ repo * http://source.android.com/source/git-repo.html * enviroment vars: REPO_PROJECT REPO_PATH REPO_REMOTE * see git command output: `export REPO_TRACE=1` * export md5 hashes of verything (create tag): `repo manifest -r -o tag.xml` ^ repack applications * http://code.google.com/p/android-apktool/ ^ repository with scripts {fetchatom: http://github.com/dpavlin/android-command-line/commits/master.atom full} |