This is extremely experimental and am not responsible for any undue stress caused by flashing this ROM which is freshly compiled and built. So, if smoke comes out of it, screen acts funny, you're on your own. That's my disclaimer
But please please do provide feedback on this what-so-ever, no matter how small and insignificant this is, this would help keep track on this thread, what needs to be done to get this ICS from AOSP working for the Zte Blade.
Word of caution:
I discovered that my TPT gen2 layout was too small so you may have to re-TPT it to get a bigger system partition. So double check first before proceeding. Mine was 160Mb in which it was deemed too small to flash despite stripping out the unnecessary stuff which shaved off 8Mb from the fresh original system.img, which was originally 155Mb. Head over to XDA's Zte Blade forum to get the TPT, Gen1 to Gen2 TPT v8 Stock which has 210Mb system partition layout as part of TPT.
AOSP ICS source compiled, with using the CM7's Zte Blade's device tree added into it along with the proprietary supporting libs extracted from a running CM7 nightly 255. No change to the boot image as that's the same as on the CM7 nightly.
Now, I did this for myself, so call me crazy, but don't care what others think.
My PC is a super duper workhorse... NOT!!!!
I built this on a Atom N270 1.6Ghz with 2Gb RAM, running Arch Linux 32bit. It took a long while, about 31 hours to be exact. I timed this for the benefit of others to judge if they can get the build to work on a superior specc'd machine. But hey, it does compile in 32bit environment...
What's not working:
Audio - afraid so, there was incompatibilities found with the device (when I say device, I am referring to the CM7's device/zte/blade tree), libaudio's namespaces used in the sources and clashed with what was in hardware/libhardware_legacy's libaudio.
Camera - yup, again, further incompatibilies and missing headers with the device and those of AOSP's frameworks/base/include/camera. So that had to go.
If you're a dev itching to do this yourself read on ...
Things to do if you want to build it yourself:
- audiohardware/libaudio - removed device's own libaudio and libcamera from build, adjust the device's Android.mk
WITH_JIT := false ENABLE_JSC_JIT := false
- Add 'Local_module_tags := optional' to the files in hardware/msm7k/lib directories, if its missing, shove them in!
- fix up the missing resource via add-resource tag in launcher2's [config|strings].xml, as in using the <add-resource type="string" or "bool" or "int" name="...">...</add-resource>
- fix up the slang compile error that halts on warnings that is treated as errors, remove the -Werror from Android.mk within slang directory.
- fix up the missing resource via add-resource tag in Phone's config.xml
<add-resource type="bool" name="allow_incoming_call_touch_ui">true</add-resource>
<add-resource type="bool" name="allow_in_call_touch_ui">true</add-resource>
<add-resource type="bool" name="allow_back_key_to_reject_incoming_call">true</add-resource>
- Libril, simply overwrite the libril from hardware/ril into the device's libril directory...
- copybit.h missing... look for ICS_Fixes on google
- Fix up the gralloc errors.
- webrtc - spl_in.h (part of ICS_Fixes ^^)
- oprofile's libpp - compile error, add
- libgralloc_qsd8k - window.h compile error memset, line 75, 303, need to add
#include <string.h>to the said header file.
- Camera/Overlay, there's missing constants in CameraParameters.h found in frameworks/base/include/camera, copy those necessary constants as reported missing by the compiler. As for the Overlay.h absent from frameworks/base/include/ui, copy that from CM7's repo. (Dont ask!)
My C++ skills are a bit rusty so...
I think all of the above is what I did to get the build going. I removed the _test binaries and the Android Japanese/Chinese keyboard to trim it down from 155Mb to 147Mb which was too big for my existing TPT gen2 with 160Mb partition... sigh
Please, if you're a beginner, do not flash this, as this is not for general usage and do not post saying you're getting a black screen as clearly there's a lot of work to get the screen working..
Edited by t0mm13b, 08 December 2011 - 04:06 PM.