CEG 4980

CEG4980 Senior Design Projects

This page is in support of the senior design projects with me. This is a raw collection of links. The one paragraph descriptions are cut-and-pasted. Send your contributions of other links to mailto:pmateti@wright.edu

Table of Contents

1 Personal Cloud System Links

2 Android Internals

  1. http://shop.oreilly.com/product/0636920021094.do Embedded Android, By: Karim Yaghmour, O'Reilly, Safari Books Online, March 2013 Print ISBN:978-1-4493-0829-2 {An excellent book. Must read. –pmateti}
  2. http://xda-university.com/as-a-developer
  3. http://www.androidenea.com/2009/06/android-boot-process-from-power-on.html {Nicely done. Good figures. 2009. –pmateti}
  4. http://www.anyclub.org/ Android Development Technology. Qualcomm MSM7x27,MSM8x55,QRD8x25 and MSM8x60.
  5. http://devmaze.wordpress.com/ A blog on Android internals.

3 Android Source Code

  1. In the OSIS lab (429 Russ, WSU), at /home/ISO/AndroidSrc/ we have source.android.com repo
# du -sh /home/ISO/AndroidSrc/
22G     .
# ls -l  /home/ISO/AndroidSrc/
total 32
drwxr-xr-x  3 root root 4096 Sep 30 15:34 accessories
drwxr-xr-x 14 root root 4096 Sep 30 15:40 device
drwxr-xr-x  7 root root 4096 Sep 30 15:34 git-repo.git
drwxr-xr-x 10 root root 4096 Sep 30 15:54 kernel
drwxr-xr-x  3 root root 4096 Sep 30 16:00 mirror
drwxr-xr-x 32 root root 4096 Sep 30 16:24 platform
drwxr-xr-x 26 root root 4096 Sep 30 16:27 toolchain
drwxr-xr-x  3 root root 4096 Sep 30 16:27 tools
  1. http://source.android.com/ Official android sources, and dev tutorials Android is an open-source software stack for a wide range of mobile devices and a corresponding open-source project led by Google.
  2. CyanogenMod is an aftermarket open source alternate Andoid firmware. http://wiki.cyanogenmod.org/w/Development wiki http://wiki.cyanogenmod.com/
  3. Paranoid Android https://plus.google.com/u/0/107979589566958860409/ http://www.androidauthority.com/cyanogenmod-vs-paranoid-android-247898/
  4. http://aokp.co/ Android Open Kang Project. It is a custom ROM distribution for many Android devices. The name is a play on the word "kang" and AOSP (Android Open Source Project). The name was sort of a joke, but it just stuck, just like our infatuation with unicorns. AOKP started out as a Computer Science College Major’s pastime and has blossomed into a very popular project.
  5. http://developer.android.com Welcome to Android Design, your place for learning how to design exceptional Android apps.
  6. http://www.linaro.org/ {Linaro toolchain. ROMs built with Linaro are considerably faster than others.} Linaro is a not-for-profit engineering organization consolidating and optimizing open source Linux software and tools for the ARM architecture.
  7. http://wiki.kldp.org/ Android Porting On Real Target
  8. https://docs.google.com/document/d/19f7Z1rxJHa5grNlNFSkh7hQ0LmDOuPdKMQUg8HFiyzs/edit?hl=en_US&pli=1 How to Build/Install CyanogenMod 9 from source for Nook Color @fattire on Twitter
  9. http://www.anddev.org/advanced-tutorials-f21/
  10. http://elinux.org/Android_Portal Wiki for Android Dev.
  11. https://opensource.samsung.com/
  12. https://github.com/Jocala ROMs for Samsung SGH-T679; samsung.ancora.ics;
  13. http://www.lg.com/global/support/opensource/opensource-detail.jsp?detailCustomerModelCode=LGP500 LGP500 Open Source
  14. http://theunlockr.com/2010/03/26/how-to-create-your-own-custom-rom-for-android-part-1-setting-up-the-kitchen/
  15. http://uot.dakra.lt/ UOT (Ultimate Online Theme) Kitchen
  16. http://forum.xda-developers.com/showthread.php?t=633246 dsixda's Android Kitchen
  17. http://forum.xda-developers.com/showthread.php?p=18790818 An Intro to Themeing
  18. http://forum.xda-developers.com/showthread.php?t=885048 Cooking a Custom Firmware for Samsung Galaxy S
  19. xda Xperia8 How to build a ROM http://forum.xda-developers.com/showthread.php?t=1455141

4 Android Recovery Tools

  1. CWM ClockworkMod; CWM source comes bundled with the CyanogenMod source.
  2. Team Win Recovery Project 2.6, or twrp2 http://teamw.in/project/twrp2 Source Code: https://github.com/TeamWin/Team-Win-Recovery-Project
  3. http://www.droidiser.com/2013/04/twrp-vs-clockworkmod-recovery.html TWRP vs Clockworkmod: Which custom recovery is the best?
  4. http://xda-university.com/as-a-developer/porting-clockworkmod-recovery-to-a-new-device
  5. https://github.com/amarullz/AROMA-Filemanager Android Recovery Based File Manager

5 Android Rooting

  1. There seem to be 3 levels of "root" we can define:
    1. Level 1: Shell Root (with rage-against-the-cage (ratc) rooting the adb shell but no /system write access)
    2. Level 2: Temporary Root (/system/bin/su installed but lost on reboot)
    3. Level 3: Full Root (/system/bin/su installed and retained across reboots)
  2. http://forum.xda-developers.com/showthread.php?t=803682 [APP]SuperOneClick</a> with zergRush and su. Uses ADB exploit titled rage-against-the-cage (ratc). ALL devices can be rooted. Some devices have a nand lock. Because of this, you can't copy su, sqlite or busybox to /system/bin. For things that don't need access to /system (like enabling non-market apps) I can use the ratc exploit to make those changes. If your device cannot use su in /system/bin then you can simply select a checkbox that says to use ratc. Some phones can use http://unrevoked.com to remove this lock. The ratc looping is by design. Bad usb cables and usb ports can cause ratc to not run properly so I have it loop until it works. The "waiting for device" hang is for the same reason.
  3. http://www.rootingdroid.com/
  4. http://forum.xda-developers.com/showthread.php?t=723596 Flash/Root/ADB/ROM
  5. http://sed.free.fr/root_android.html
  6. http://rootzwiki.com/

6 Android Unbricking

  1. http://forum.xda-developers.com/showthread.php?t=1572924 Booting an Android System when only Recovery is at your disposal Your phone may be in a state where Android cannot start any more, even restoring a system backup might be impossible. Then it would be great to have a handy way to boot a full CyanogenMod system anyway.
  2. http://www.armtvtech.com/armtvtechforum/viewtopic.php?f=12&t=13 Android TV Sticks Recover from Boot Loop Android sticks do not have Volume Up-Down or Power-On-Off buttons. This post describes how to recover from a boot loop by opening your UG802 and shorting 2 pads located near the NAND chip. Widows based drivers located in the Rockchip Batch Tool folder. Short the pads for a couple of seconds while plugging in the USB data cable into the devices micro-USB port. Do not have to keep the pads shorted after it was recognized. Sometimes it can take a few tries – it took someone 6 tries. Some PC / notebooks don't provide the power necessary to correctly reflash the UG802 on their USB port (you need more than the usual minimum 500mA that USB ports are rated for). If the procedure described doesn't work, first try another PC or another USB port on the same machine.
  3. http://forum.xda-developers.com/wiki/index.php?title=JTAG_Softboot_for_Magic_and_Dream
  4. http://www.addictivetips.com/mobile/how-to-un-brick-android-phones-boot-loop-fix/ www.addictivetips.com un-brick-android-phones boot-loop-fix/ Booting your phone into its bootloader / fastboot mode uses your phone's hardware keys, and varies from phone to phone. For most phones, Volume down or Up key held, pressing the Power key and then releasing the Volume key once you see the bootloader screen.
  5. http://techie-blog.blogspot.com/2010/11/how-i-unbricked-my-samsung-galaxy-s.html USB switching chip; A resistor on the micro USB port can be used to force the Galaxy S into download mode, but the USB switching chip used on the phone has a lot of other capabilities that are triggered by different resistors between pin 4 and 5 of the plug. Desk Dock: 365K (also works with 1K) Car Dock: 619K In these modes audio output can be switched to pins D- and D+ of the USB port (D- is left) but this is not done by default, see this thread. Serial port/UART: 523K "Anyway" field test jig: You can make this jig using a micro USB plug and a resistor.

7 Open Source Android APKs

  1. Shane Conder and Lauren Darcey, Book: Android Wireless Application Development, Volume I: Android Essentials, Volume II: Advanced Topics; Addison-Wesley Professional, 2012; Safari Books online wright.edu https://login.ezproxy.libraries.wright.edu:8443/ {This book has several example APK src. Well written. Get the latest edition -- pMateti}
  2. https://code.google.com/p/hackerskeyboard/wiki/FrequentlyAskedQuestions Hacker's Keyboard, a 5-row keyboard using full PC key layout for Android tablets or phones
  3. The following Android APKs are open src:: digisshd: ssh server, GrooveIp, Mizudroid, Cool Reader, Laputa, Cloud Print. PDA net, Qloud, doubletwist, Smart App Protector Free; Navigon Maps without wifi; bobsled: wifi calling; Silent Cam; Yaffs Explorer;EncFS on Android file encryption;
  4. http://androidapps.org.ua/ Android Application Development (on-line book) By Rick Rogers, John Lombardo, O'Reilly Media, Inc. 2009
  5. All of the applications delivered with Android (Calendar, Contacts, Email, etc.) are open-source, but are not part of the Android SDK. Look at /platform/packages/apps. These may not readily compile; they are expected be compiled as part of a full OEM firmware build. http://source.android.com/source/downloading.html
  6. http://en.wikipedia.org/wiki/List_of_open_source_Android_applications Wikipedia List of open source Android applications.
  7. http://www.cuteandroid.com/open-source-android-applications-for-developers
  8. http://developer.android.com/resources/browser.html?tag=sample Android Developers Apps Samples.
  9. http://open-app.org/ Lists about 50 Android apps.
  10. https://github.com/boombuler/ADWLauncher2 ADW Launcher Source Code repository ; has 2011 time stamps. The one at https://github.com/AnderWeb/android_packages_apps_Launcher does not compile without errors any more.
  11. http://www.openintents.org/en/
  12. http://code.google.com/p/k9mail/ an open source email client. Many consider this to be on par with gmail app.
  13. http://code.google.com/p/sipdroid/ Sipdroid is a VoIP application. It allows you to choose where you will use VoIP, on WLANs only, on 3G, or EDGE networks.
  14. http://code.google.com/hosting/search?q=android Search on Google Code

8 Notes on Android APK

  1. APKs can be installed from terminal emulator: pm install *.apk
  2. http://www.torrapk.com/ Alternative Market for Android
  3. http://www.appbrain.com/ Alternative Market for Android
  4. http://android.downloadatoz.com/ Alternative Market for Android
  5. https://developer.amazon.com/welcome.html Alternative Market for Android, etc.
  6. busysbox vs toolbox https://code.google.com/p/android-toolbox/ vs http://www.landley.net/toybox/ Toybox design decisions: http://lists.busybox.net/pipermail/busybox/2010-January/071229.html Busybox is in Debian/ Ubuntu also. http://www.elinux.org/Busybox_replacement_project
  7. Polaris Office is better than QuickOffice if you plan to create and edit word docs. To view documents and complex excel sheets, QuickOffice often does the better job.
  8. http:/code.google.com/p/android-scripting/ Scripting Layer for Android (SL4A). Interactive interpreters directly on Android in a terminal, in the background, or via Locale. Python, Perl, JRuby, Lua, BeanShell, JavaScript, Tcl, and shell are currently supported
  9. http://www.xda-developers.com/android/say-sayonara-to-google-apps/
  10. Is Android Open Source Or Not? http://tech.shantanugoel.com/2010/10/25/android-open-source-or-not.html
  11. http://arstechnica.com/gadgets/2013/10/googles-iron-grip-on-android-controlling-open-source-by-any-means-necessary/ Ron Amadeo - Oct 20 2013, 9:00pm EDT

9 Android on Intel/AMD Platforms

9.1 Android-x86

  1. Not rooted. No file explorer app. No google-apps.
  2. https://groups.google.com/forum/#!forum/android-x86
  3. http://freedesktop.org/wiki/Software/gummiboot/ gummiboot is a simple UEFI boot manager which executes configured EFI images. Android-IS uses this.
  4. On Samusung XE700T1C (and others) Android-x86 can be frugally installed, and booted from grub2. But touchscreen and mouse are too jerky+slow. Touches register seconds later. Wifi discovery also slow.

9.2 Android-IA

  1. Rooted. No file explorer. Runs without the sluggishness of -x86. Install APK through terminal pm install *.apk
  2. Has unusual file volume .img files. Seems only gummyboot can boot it; gummyboot has a "android some-number" that is in the conf file.
  3. The Android root filesystem is inside the ramdisk. We use the same bootimage format that is done on real Android devices (see system/core/mkbootimg) and SYSLINUX has an extra COM32 module so that it knows how to pull the kernel and ramdisk images out of it.
  4. The installer is using SYSLINUX bootloader in legacy BIOS mode.
  5. The kernel config is in arch/x86/configs, it's the 'bigcore' one.
  6. android-ia runs great on ivycore , but you need to work hard to integrate features which are in android-x86 (e.g., virtual terminals, Ethernet, su etc.). The worst thing: multi booting it with other OSs is a nightmare. its possible, but It's hard not to hate their installer - it is definitely not friendly to other OSs (e.g. erases all your disk when you install it). {pmateti:
  7. On Samusung XE700T1C (and other x86) keyboard shortcuts: ESC = Back Windows; windows = Android Home Alt+Tab =switch between opened background applications Ctrl+P = settings Ctrl+M = settings/all applications Ctrl+N = Nova launcher settings (if installed) Ctrl+S = play store (in Nova launcher if installed) Ctrl+W = select wallpaper for home screen Ctrl+Alt+Delete = kill android and restart ( don't do it because you may lose data ) Fn + (F6 or F7 or F8) = mute, volume down , volume up -— respectively Fn+ F4 =home ( so pressing windows home button is easier ) In home screen , typing any letter will trigger search.

10 Raspberry Pi

  1. http://www.raspberrypi.org/ ;; http://www.raspberrypi.org/archives/tag/android
  2. http://www.raspberrypidiskimages.com/
  3. Android 4.0.3 built by Broadcom: Boots, very fast with hardware acceleration, lacks AudioFlinger support. Not yet (Sep 2013) released by Broadcom?
  4. http://www.adafruit.com/ retail store for Pi etc.
  5. http://androidpi.wikia.com/wiki/Android_Pi_Wiki abandoned work?
  6. http://www.makeuseof.com/tag/7-operating-systems-you-can-run-with-raspberry-pi/ Pretty good reviews. Links to the OS given.
  7. http://www.techradar.com/news/software/operating-systems/raspberry-pi-operating-systems-5-reviewed-and-rated-1147941 No links to OS! "The article is wrong - the OS does NOT cost £99 for the Raspberry Pi. It's free. RISC OS 6 WILL NOT run on the Raspberry Pi. RISC OS 5, which is free, will. Or you can pay a small amount of money and have a ready-to-plug-in SD card. https://www.riscosopen.org/content/ RaspBMC. Rasbian uses LXDE.
  8. http://forum.xda-developers.com/showthread.php?t=2351162 huh? nothing useful.
  9. http://forum.xda-developers.com/showthread.php?t=2321557 Porting Android for Raspberry Pi

11 Misc Mobile Device OS

  1. Ubuntu now fits your phone Introducing the superphone that’s also a full PC. http://www.ubuntu.com/phone Ubuntu Touch forum http://forum.xda-developers.com/forumdisplay.php?f=2068
  2. http://www.mozilla.org/en-US/firefox/os/
  3. http://jolla.com/
  4. http://en.wikipedia.org/wiki/OPhone OPhone, or OMS (Open Mobile System), is a mobile operating system running on the Linux kernel.

www.wright.edu/~pmateti • Send your contribution of links to pmateti@wright.edu; 2014-02-10T23:33-0500