[Miscellaneous Android Development] ultravioletnanokitty:
This thread is my attempt at creating a comprehensive, well-formatted index for current android development on these devices.

This thread, while significantly outdated, is the source of some of the information below. It's terribly formatted and difficult to follow, but may assist you if you get stuck on something here.

IMPORTANT KERNEL INFORMATION​

I have been receiving a number of private messages offering links/information related to the Honeycomb kernel source for these devices, which I already have. What I need is the kernel source code for Linux 3.0.8 for Ice Cream Sandwich on the ZTE V9S. So far as I am aware, that is the newest kernel version available for any ZTE device with the msm8660 SoC. Any source code for Honeycomb (kernel version 2.6.35.x) is what I already have and really woon't help me any.​

Contents

Rooting/Recovery -- Instructions and downloads related to getting your device initially set up for custom ROMs

Bootloader -- If you like to flash things a lot, this might make your life easier

Kernels -- If you're on V55 stock honeycomb, here's a better kernel for you.

ROMs -- My latest build of CM10 is my current recommendation. All newer builds are not yet functional enough for daily usage.

Sources -- Want to check out my work? Here's my github.

​

Rooting/Recovery​

WARNING: There is no easy path back from this. If you have even the slightest doubt about switching ROMs, make a backup of all partitions first thing after installing recovery.

TWRP

It's TWRP.

Note: When using ADB sideload, make sure the cable is unplugged when you 'swipe to enter sideload'. If you leave the cable plugged in adbd doesn't restart properly for some reason and it either shows up as recovery but won't communicate or doesn't show up at all. So long as you properly observe this quirk, sideload is 100% functional and reliable.

TWRP v2.6.0.0 -- Build Date 7-30-2013:

V11A: Androidfilehost

V71A: Androidfilehost

Changes:

First release for V71A/V11A

TWRP v2.6.0.0 -- Build Date 7-15-2013:

V55: Androidfilehost

Changes:

Updated to v2.6.0.0

Older Versions:

TWRP v2.4.4.0 -- Build Date 5-27-2013:

V55: Androidfilehost

Changes:

First build by me

USB fix in kernel (no more broken adb!)

Fixed fstab (only relevant partitions are available for manipulation)

Updated to v2.4.4.0 (joestone's is at 2.3.1.1)

Thanks to TWRP's new built-in rooting functionality, rooting is beyond easy.

Root via TWRP:

Download the latest TWRP from above

Reboot into fastboot mode with:

adb reboot bootloader

or by powering on the device while holding volume up

Run (as root/with administrator privileges):

fastboot flash recovery <your twrp image>

If the command is successful, press and hold volume down and run:

fastboot reboot

(still with admin rights) to reboot into recovery.

If the flash command is unsuccessful, you can also boot the recovery image without flashing it with:

fastboot boot <your twrp image>

From there, you can make a backup and flash a ROM just as you normally would, though TWRP will not be written to the recovery partition.

If you have not installed a ROM that has root access, TWRP will ask you if you want to root the device when you reboot.

Installing TWRP on an already-rooted device:

Download the latest TWRP from above to your device

Open a root shell on your device

Type:

dd if=<your twrp image> of=/dev/block/mmcblk0p18

Re-read it. MAKE SURE YOU HAVE IT TYPED EXACTLY, YOU CAN SERIOUSLY SCREW THINGS UP IF YOU MESS UP THE PARTITION NUMBER.

Hit enter. You now have TWRP installed.

If you intend to stay on stock, you must keep TWRP from getting erased by deleting '/system/etc/install-recovery.sh', which overwrites the recovery image on boot. If you boot the system without doing this, TWRP will be overwritten and you'll have to redo the process.

Bootloader​

The bootloader preloaded on most V55 devices has a silly "security" measure enabled, by way of blocking the fastboot flash command. It also includes a remote management/updating framework called redbend, which I'm inclined not to trust. Luckily, the same bootloader appears to be used between V11A, V71A, V66, V68, V55, and V9X. While I am unsure about images from anything other than V71A, I can confirm that the bootloader image from joestone's V71A stock restore zip is fully compatible with the V55. As it does support fastboot flash, and does not include redbend, I feel that this bootloader is a worthwhile "up"grade for all V55 developers/flashers. It is not a necessary component, but it does simplify installation of things such as recovery and test boot images. Just flash the zip in TWRP to downgrade your bootloader!

V71A Bootloader:

V55: Androidfilehost
​

Kernels​

Currently, the only kernel worth offering as a package of its own is joestone's kernel #60. This kernel is for honeycomb ONLY. Do not flash on any AOSP ROM. More information in the old thread, see top of this post. 4shared

ROMs​

joestone's ROMs (DISCONTINUED)​

For a good while these were the only custom ROMs available for these devices. While they work admirably well, they are very out of date and somewhat problematic. If you need 3G data on your V11A or V71A, these are the only CM builds that work at the moment. For V55, I now recommend my CM10 builds (below) above these, as they are much newer and better-optimised.

ZTE V9S Stock ICS Port​

I have found this to be amazingly functional on the V55, with all hardware (possibly even 3g) working. However, there are problems with Google Play and related frameworks, which aren't included in this ROM. Unfortunately, the device boots up set to Chinese with a Russian keyboard, but it is simple to correct this in the setup wizard and keyboard settings.

Download: AndroidFileHost

My Work​

PAC 4.1

This is my fork of the PAC4.1 project. Due to the complete lack of development (or interest) from the PAC team, I have chosen to take things into my own hands. My primary goals are as follows:

Integrate newest available PA, CM, and AOKP source

Finish basic device support for devices stuck on 4.1

Organise features better, add more?

Maybe convince PAC maintainers to re-adopt it?

My changes since forking the project: PAC4.1 Changelog

PAC 19.3.1 (4.1.2) v0.2 -- Build Date 4-2-2014:

V55: Androidfilehost | Direct MD5: 1bc22ab71220eb9b43ac87e8e4f18e22

V11A: Androidfilehost | Direct MD5: bff38eca99d8d2c640047a5865ed3521

V71A: Androidfilehost | Direct MD5: 982c82df8412335a55d7dcbfed07d9f0

Changes:

Forked PAC4.1, see description

Fixed video playback

Older Versions:

PAC 19.3.0 (4.1.2) v0.1 -- Build Date 3-26-2014:

V55: Androidfilehost | Direct MD5: 4165980f3ffc7e2cb8c1915c2dcc1065

V11A: Androidfilehost | Direct MD5: 6d448a9faccda89ca199c8f4be63f794

V71A: Androidfilehost | Direct MD5: 08779bbc3afb17b8484d66a3d1af4703

Changes:

First PAC4.1 release

ParanoidKANGdroid

This is an ancient ParanoidKANGdroid build based upon my CM10.1 build, for V55 only. It's a relic of my first attempt at 4.2 support, and I only leave it here because it's the only build of its kind. It will be replaced by PAC as soon as possible.

ParanoidKANGdroid (4.2.2) v0.2 -- Build Date 3-12-2013:

V55: Dev-Host MD5: f13ece516b1fe10b29e9ae3d9e398285

Changes:

First release-worthy build

CM10.1

This is a stock CM10.1 build. It is based heavily upon hardware support from Team-Hydra's git repos. Unfortunately, as of now it's not particularly easy to enable the old tablet layout (the real tablet layout) an Android 4.2. As a result, the device is laid out in the Nexus 7's "phablet" mode, and DPI is set to 213 (the actual physical DPI of the device).

Known Working:

Display + 2D/3D Acceleration

Audio

Video Playback

Input (Buttons+Touch)

LED (no configurability yet)

GPS

Storage

Sensors

Known Partially Functional:

WiFi (scans and connects when first turned on, will not scan after that. logcat is full of 'failed to initiate ap scan'.)

Bluetooth (turns on, scans, and will attempt to pair, will not actually pair)

USB (ADB is functional, MTP is not)

Known Broken:

3G

Camera

Tethering of any kind

Lots of little things

Untested:

FM (not supported in stock, very low priority)

HDMI (I've not found an HDMI adapter for this device)

CM10.1 (4.2.2) v0.3 -- Build Date 1-28-2014:

V55: Androidfilehost | Direct MD5: 3f9f4a355b622dbd249f61deb6eaa6d6

V11A: Androidfilehost | Direct MD5: 6c1b23bf4d2d379fbd2abf431ce957e0 (Doesn't Boot, More Testing Needed)

V71A: Androidfilehost | Direct MD5: f25b06041d83ea12b9e903a499f75fb6 (Doesn't Boot, More Testing Needed)

Changes:

Fixed Audio

Fixed GPS

Much newer CM sources (again)

First test releases for V11A and V71A (these aren't booting yet)

Older Versions:

CM10.1 (4.2.2) v0.2 -- Build Date 8-24-2013:

V55: Androidfilehost MD5: ac979163287479fa452ea4608c97fab8

Changes:

ADB works properly now

Much newer CM sources

CM10.1 (4.2.2) v0.1 -- Build Date 2-26-2013: No Longer Available

Changes:

First usable build

CM10

Screenshots:

This is a stock CM10 build. I have not made any cherry-picks or other modifications, though the screen DPI is set to 160 for tablet mode. My intention is to create a stable and functional CM10 ROM that improves speed, stability, and efficiency over joestone's builds. I am extremely glad to say that I have reached approximately the same level of hardware support as joestone's CM10 builds on V55, and V11A and V71A are close behind. This is highly usable as a daily driver.

Known Working:

Display + 2D/3D Acceleration

Video Playback

Audio

Input (Buttons+Touch)

LED (no configurability yet)

WiFi

GPS

USB

Storage

Sensors

Known Partially Functional:

Bluetooth (A2DP, HID, and OBEX work fine, PAN causes a reboot)

Certain apps (Chrome and the new Maps, mainly) flicker, sometimes unusably (this seems to be somewhat minimal now, i'm not sure why)

Known Broken:

3G

Camera

Tethering of any kind

Let me know what else, if anything

Untested:

FM (not supported in stock, very low priority)

HDMI (I've not found an HDMI adapter for this device)

CM10 (4.1.2) v0.7 -- Build Date 4-3-2014:

V55: Androidfilehost | Direct MD5: e705b43389608636f2f47c252351935a

V11A: Androidfilehost | Direct MD5: 0e36265a9afa1a6c9f5f1c6fd2033468

V71A: Androidfilehost | Direct MD5: 7c141e5d984f8865fcd96d8c2d6ae694

Changes:

Fixed video playback

Older Versions:

CM10 (4.1.2) v0.65 -- Build Date 1-29-2014:

V55: Androidfilehost | Direct MD5: 7e2e15a66ebae8f63ecdcc59c9cf5796

V11A: Androidfilehost | Direct MD5: a794cc08cd7422a251bbb80ebe7aa6ae

V71A: Androidfilehost | Direct MD5: 5d866ecda5f5d7219d5b34cafacba2a2

Changes:

Set default CPU governor to SavagedZen, much better than performance

Fixed deep sleep/power management in general (?)

Disabled insecure boot, fixed adb root functionality

Optimised miscellaneous things

CM10 (4.1.2) v0.6 -- Build Date 1-28-2014:

V55: Androidfilehost | Direct MD5: 6daab601f5931e6b037728c2e7dd82c7

V11A: Androidfilehost | Direct MD5: 08470455d1bb33ba7e6eb3eb4d7c807a

V71A: Androidfilehost | Direct MD5: f5d992f177aa45b75c11566d567ce439

Changes:

Fixed Audio

Fixed GPS

CM10 (4.1.2) v0.5 -- Build Date 8-12-2013:

V55: Androidfilehost MD5: 32637b00cbe764d2b47f7a4fc6c6a422

V11A: Androidfilehost MD5: 77eee654b7c38c6d9e47d50a21787419

V71A: Androidfilehost MD5: 619c11f83f253cb5e3335e8893409452

Changes:

CM 10.0.0 final

Fixed Bluetooth (partially)

Fixed native video playback

First release for V11A and V71A

More trimming

CM10 (4.1.2) v0.45 -- Build Date 6-24-2013: No Longer Available

Changes:

Complete resync/rebuild

Trims and tweaks related to trying to fix broken hardware

CM10 (4.1.2) v0.4 -- Build Date 3-7-2013: No Longer Available

Changes:

Updated kernel to 2.6.35.14

Major behind-the-scenes changes and optimisation

CM10 (4.1.2) v0.35 -- Build Date 2-9-2013: No Longer Available

Changes:

Fixed USB properly (removed silly ZTE code)

CM10 (4.1.2) v0.3 -- Build Date 2-8-2013: No Longer Available

Changes:

Fixed sensors

Added USB workaround

Removed thermald and mpdecision for now

Complete resync/rebuild

More cleanup

CM10 (4.1.2) v0.2 -- Build Date 2-6-2013: No Longer Available

Changes:

Improved graphics performance

Fixed storage

Lots of little tweaks and cleanup

CM10 (4.1.2) v0.1 -- Build Date 2-3-2013: No Longer Available

Changes:

First usable build

Sources​

The device configuration I continue to improve for these SmartTabs can be found on my github here.

Cyanogenmod's sources are available on github here.