Edison's NoteSsss

Everything about me

Category: Android

Compiler Android 4.2 for Nexus 7 in Mac 10.8.2 with Xcode 4.5

上周托朋友在Amazon上买了一台 Nexus7 这周就能到手

再到手之前照例要做功课,其实买来之前就已经研究过很久了,当时犹豫是要Ipad mini还是搞Nexus7, 只有又一次路过Yodubashi实际摸了摸mini之后,感觉还是来个实用的有乐趣设备吧,能拿到完整source code对我这种靠Android吃饭的人来说是很巨大的吸引力啊。。。于是。。搞了!

既然订单下了,那就要开始搞source code和编译了。其实编译环境完全没有压力,我有以前工作用的完整的ubuntu虚拟机编译环境,但是这次我觉得可以搞一下Mac原生的编译环境。。AOSP对Mac的支持还是很友好的,不像某些无良公司。。。完全没有Mac的编译支持!

决定了那开始下代码搞起 先按照Android官网的配置搞定大概的编译环境,很简单不多说,网站列一下

  • http://source.android.com/source/initializing.html

然后开始下载代码(我尝试过使用打了tag的4.1.2分支和4.2分支都失败了。。最后都是用master编过的。。所以我劝大家如果要搞的话安安稳稳的用master吧。。。)

  • repo init -u https://android.googlesource.com/platform/manifest
  • repo sync -j8

 

12-21 ** FIX **
还需要去网站下载二进制驱动包打入source中,下载地址:
https://developers.google.com/android/nexus/drivers#grouperjop40c
否则会出现无法启动的情况。。。

之后就是常规编译步骤了

  • . ./build/envsetup.sh
  • lunch full_grouper-userdebug
  • make all -j8 (如果不想用apple llvm编译的话 可以使用 make CC=”gcc-apple-4.2″ CXX=”g++-apple-4.2″ -j8)

我的编译选项的输出如下:

 lunch full_grouper-userdebug  
============================================  
PLATFORM_VERSION_CODENAME=AOSP 
PLATFORM_VERSION=4.2.42.42.42 
TARGET_PRODUCT=full_grouper 
TARGET_BUILD_VARIANT=userdebug 
TARGET_BUILD_TYPE=release 
TARGET_BUILD_APPS= 
TARGET_ARCH=arm 
TARGET_ARCH_VARIANT=armv7-a-neon 
HOST_ARCH=x86 HOST_OS=darwin 
HOST_OS_EXTRA=Darwin-12.2.0-x86_64-i386-64bit 
HOST_BUILD_TYPE=release BUILD_ID=JB_MR1 OUT_DIR=out 
============================================= 

需要注意的是 如果你使用10.6以上的Mac版本(现在使用10.6以下的也不多了吧。。。) 需要先export一个环境变量

 build/core/combo/HOST_darwin-x86.mk:62: 
**************************************************** 
* build/core/combo/HOST_darwin-x86.mk:63: 
* Cannot find SDK 10.6 at 
*    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk 
*    build/core/combo/HOST_darwin-x86.mk:65: 
* If you wish to build using higher version of SDK, build/core/combo/HOST_darwin-x86.mk:66: 
* try setting BUILD_MAC_SDK_EXPERIMENTAL=1 before build/core/combo/HOST_darwin-x86.mk:67: 
* rerunning this command build/core/combo/HOST_darwin-x86.mk:69: 
***************************************************** 
build/core/combo/HOST_darwin-x86.mk:70: 
*** Stop.. Stop. 

按照提示

  • export BUILD_MAC_SDK_EXPERIMENTAL=1

然后就可以开始正常编译 编译完成后可以在$OUT目录找到生成的img文件 我的out目录的ll如下:

 total 823584 
-rw-r--r-- 1 edison staff 22 Nov 15 10:17 android-info.txt 
-rw-r--r-- 1 edison staff 5113856 Nov 15 11:05 boot.img 
-rw-r--r-- 1 edison staff 25701 Nov 15 11:49 clean_steps.mk 
drwxr-xr-x 2 edison staff 68 Nov 15 10:16 data 
-rw-r--r-- 1 edison staff 113699883 Nov 15 11:52 full_grouper-ota-eng.edison.zip 
-rw-r--r-- 1 edison staff 44690 Nov 15 11:15 installed-files.txt 
-rw-r--r-- 1 edison staff 4871932 Nov 15 10:41 kernel 
drwxr-xr-x 12 edison staff 510 Nov 15 11:15 obj 
-rw-r--r-- 1 edison staff 602 Nov 15 11:49 previous_build_config.mk 
-rw-r--r-- 1 edison staff 766760 Nov 15 11:05 ramdisk-recovery.img 
-rw-r--r-- 1 edison staff 237689 Nov 15 11:05 ramdisk.img 
drwxr-xr-x 3 edison staff 102 Nov 15 11:05 recovery 
-rw-r--r-- 1 edison staff 5642240 Nov 15 11:05 recovery.img 
drwxr-xr-x 8 edison staff 816 Nov 15 11:05 root 
drwxr-xr-x 4 edison staff 170 Nov 15 11:05 symbols 
drwxr-xr-x 13 edison staff 476 Nov 15 11:11 system 
-rw-r--r-- 1 edison staff 184454092 Nov 15 11:15 system.img 
-rw-r--r-- 1 edison staff 106788356 Nov 15 11:05 userdata.img 

其中的full_grouper-ota-eng.edison.zip 是用otapackage编出来的 暂时还没搞明白用途。。。。

  • make otapackage -j8

我使用master分支 基本都是一次编过 没有任何编译错误 但是使用打了tag的分支 没有一次能顺利编过的。。。。

好了 先写这些 等拿到了nexus7 再继续写烧机的经过吧

对于AMSS问题的debug一例

刚才和同事以及老大调查了一个AMSS里面导致crash的问题
具体现象是在打电话的过程中发送sms就会crash。
最开始取了qcril的log进行调查,通过加log的方式发现qcril发送sms的流程都已经走完了,但是没有得到AMSS的返回消息就挂掉了,初步定位问题为AMSS内部处理有问题。
后来为了定位问题代码打算使用trace32设置断点调试的方式来debug调试,在自己的机器上配置了AMSS编译环境后,打开debug的选项进行编译,将断点设置在err_fatal_put_inte… 的出错处理函数,然后复现bug,发现走到了断点,通过切换task到wms发信死在wmsmsg.c文件的address:0x100706E 对照代码窗口发现显示是在send_msg。。。。。函数的3322到3325行之间出了问题,但是通过代码对比发现对应行数并不是问题函数内部,推断肯能是在编译预处理阶段产生了代码行号的偏移,为了定位偏移行数,使用debug用的AMSS重新取了QXDM的log,对比log输出发现,问题函数内部打印的log在代码实际位置和QXDM取的log显示位置存在56行的偏移,结合之前显示的问题点定位3322行 应该对应3266行,在结合trace信息看到在出问题之前有一次函数调用 并且上下有3行的间隔 对比代码找到被调用的函数,发现被调用函数与3366间隔的三行内只有一条指令,符合trace看到的情况 推断问题代码就是此条指令,注释掉再编译 调试发现问题不能复现了 确定就是此条指令引起!
明天继续调查详细的原因 ,在这做个笔记,省得忘了怎么查的。。。。有记不清楚的地方明天补充,睡觉了。。。太晚了。。。

编译G2的Android 2.2ROM

ZT:http://www.nduoa.com/android_gphone_forum-viewthread-tid-5531-from-home.html

说明:文章来自XDA-Developers,由羊头居士我翻译。文章内容仅作参考,不提供工具、ROM等的分流。刷自行编译的ROM有风险,动手须谨慎。由于贸然操作导致的手机变砖,本人及原作者不负任何责任。
文章提要:大致介绍了如何在Ubuntu环境下对最新的AOSP Froyo代码进行编译,并使之适用于G2 32B及32A。同时原作者提供了其编译的Froyo ROM。FroyoRider AOSP 2.2 即是基于此教程编译,如果以使用为目的建议直接使用FroyoRider。
正文:


对使用别人制作的Android OS感到厌烦了?如果你像我一样,你大概希望能够自己掌控你的手机上使用的系统。这上面没有任何市场或者Google的应用及服务。这个ROM用于开发应用程序,并使你拥有一个使用最新的适用于HTC Magic/Sapphire的Android系统的能够工作的手机。
下载和编译Android系统源代码(从AOSP获得)建议使用Ubuntu系统。我有一个装了Snow Leopard的Mac,所以我使用VirtualBox来运行安装了Ubuntu的虚拟机。一旦你安装好了Ubuntu,你需要对他做好准备以便你能成功下载编译AOSP代码。
首先,你要确定你的系统已经是最新的。你可以运行系统—管理中的升级管理器来确定。一旦升级完成,运行应用程序—附件并打开终端。
键入下列命令来安装需要的库文件(下面的命令只有一行)——针对Ubuntu 10.04 64位版:

  1. sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind lib32readline5-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev

复制代码

使用下面的方法来安装需要的库文件——针对Ubuntu 32位版(感谢Szusz!)
1.编辑/etc/apt/sources.list并且添加以下内容到最后:

  1. deb pl.archive.ubuntu.com/ubuntu/ jaunty multiverse
  2. deb pl.archive.ubuntu.com/ubuntu/ jaunty universe

复制代码

2.在终端中运行下列命令(下面的命令只有一行)

  1. sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind libreadline5-dev gcc-multilib g++-multilib libc6-dev libncurses5-dev x11proto-core-dev libx11-dev libreadline5-dev libz-dev

复制代码

使系统能够运行Java5.0,这是编译所需要的兼容的Java版本。最近版本的Ubuntu不需要此步骤(10.04以上)。【居士注释:建议运行一下,不会有问题,多上个保险嘛】执行以下命令:

  1. sudo update-java-alternatives -s java-1.5.0-sun

复制代码

修复一个X11的依赖关系:
64位:

  1. sudo ln -s /usr/lib32/libX11.so.6 /usr/lib32/libX11.so

复制代码

32位:

  1. sudo ln -s /usr/lib/libX11.so.6 /usr/lib/libX11.so

复制代码

操作系统已经准备好了。接下来准备Google提供的管理源码的工具Repo。键入以下命令来安装:

  1. cd ~
  2. mkdir bin
  3. curl [url]http://android.git.kernel.org/repo[/url] >~/bin/repo
  4. chmod a+x ~/bin/repo
  5. PATH=”$HOME/bin:$PATH”

复制代码

现在开始进行下载源码、编译等工作,你需要做的一切就是把下面的文本复制到Ubuntu的一个文件中(只要在终端中键入gedit android.sh即可):【居士注释:我的博客没有语法高亮……你可以先复制到一个有语法高亮的编辑器中检查一下】

  1. #!/bin/bash
  2. #Created by dferreira ([email]lizned.arierref@gmail.com[/email])
  3. #Checkout and compile master repositories out of source.android.com
  4. SOURCE_FOLDER=~/magicDroid
  5. BRANCH=”master”;
  6. KERNEL=”android-msm-2.6.32″;
  7. #Check for Repo
  8. if [ ! -f ~/bin/repo ]
  9. then
  10.     cd ~
  11.     mkdir bin
  12.     curl [url]http://android.git.kernel.org/repo[/url] >~/bin/repo
  13.     chmod a+x ~/bin/repo
  14.     PATH=”$HOME/bin:$PATH”
  15. fi
  16. #Create project folder
  17. if [ ! -d $SOURCE_FOLDER ]
  18. then
  19.     mkdir $SOURCE_FOLDER
  20. fi
  21. cd $SOURCE_FOLDER
  22. #clean old compiled files, there can be new stuff!
  23. make installclean
  24. make clean
  25. #Get updated source files from AOSP
  26. repo init -u git://android.git.kernel.org/platform/manifest.git -b $BRANCH
  27. git clone git://android.git.kernel.org/kernel/msm.git -b $KERNEL #clone latest kernel project
  28. cd $SOURCE_FOLDER/msm
  29. git pull #check if anything new
  30. cd $SOURCE_FOLDER
  31. repo sync #update repo’s
  32. #Get HTC drivers if they don’t exist already on folder
  33. cd ~/magicDroid
  34. if [ ! -f sapphire_update.zip ]
  35. then   
  36.     wget –referer=http://developer.htc.com/google-io-device.html [url]http://member.america.htc.com/download/RomCode/ADP/signed-google_ion-ota-14721.zip?[/url]
  37.     mv signed-google_ion-ota-14721.zip sapphire_update.zip
  38. fi
  39. #unzip the proprietary files from HTC for Sapphire
  40. if [ ! -d vendor/htc/sapphire/proprietary ]
  41. then
  42.     cd $SOURCE_FOLDER/device/htc/sapphire/
  43.     ./unzip-files.sh
  44. fi
  45. #Compile latest kernel
  46. cd $SOURCE_FOLDER/msm
  47. make ARCH=arm msm_defconfig
  48. make ARCH=arm CROSS_COMPILE=$SOURCE_FOLDER/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- zImage -j4
  49. #copy kernel to source if success!
  50. if [ -f $SOURCE_FOLDER/msm/arch/arm/boot/zImage ]
  51. then
  52.     cp $SOURCE_FOLDER/msm/arch/arm/boot/zImage $SOURCE_FOLDER/device/htc/dream-sapphire/kernel
  53. fi
  54. #Compile wifi module to match the kernel
  55. cd $SOURCE_FOLDER/system/wlan/ti/sta_dk_4_0_4_32
  56. make KERNEL_DIR=$SOURCE_FOLDER/msm/ ARCH=arm CROSS_COMPILE=$SOURCE_FOLDER/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- -j4
  57. #copy updated wlan.ko that matches the kernel
  58. if [ -f $SOURCE_FOLDER/system/wlan/ti/sta_dk_4_0_4_32/wlan.ko ]
  59. then
  60.     cp $SOURCE_FOLDER/system/wlan/ti/sta_dk_4_0_4_32/wlan.ko $SOURCE_FOLDER/device/htc/dream-sapphire/wlan.ko
  61. fi
  62. #setup compiling environment and build images
  63. cd $SOURCE_FOLDER
  64. . build/envsetup.sh
  65. #cd $SOURCE_FOLDER
  66. lunch
  67. make -j4
  68. #get to compiled folder
  69. cd $SOURCE_FOLDER/out/target/product/sapphire/
  70. echo ‘Your files ready for flashing are here:’
  71. ls *.img 

复制代码

保存这个文件,然后执行下面的命令使它可执行:

  1. chmod 755 android.sh

复制代码

键入下面的命令来运行它:

  1. ./android.sh

复制代码

好了!只要按照以上的步骤运行就行了。它会询问你的名字、Email地址然后问你你将编译到什么设备上。这个脚本适用于Sapphire,所以你应该选择有sapphire的选项,US版本或EU版本,包括了ENG的标志,这样编译完成后能得到root权限。
最后,你将得到一系列.img文件,这些可以安装到你的设备上。
在刷写系统之前,先使用你喜欢的Recovery,wipe一下所有的东西,然后重启到fastboot模式。我相信你既然想编译你自己的系统,你一定会使用fastboot。但是以防万一:
fastboot flash boot boot.img
fastboot flash system system.img
fastboot flash userdata userdata.img
重启你的设备然后享受你自己的系统吧~
如果你遇到任何问题,请告诉我。


一些你可能感兴趣的修复项:
在DalvikVM上开启JIT
编辑dalvik/vm/Android.mk:

  1. if
    eq ($(TARGET_ARCH_VARIANT),armv5te)

  2.     WITH_JIT := true
  3. endif

复制代码

编辑vendor/htc/sapphire/BoardConfigVendor.mk:

  1. WITH_JIT := true
  2. ENABLE_JSC_JIT := true

复制代码

如果你想在32A上运行这个系统,你需要用32A的核心来替换这个核心,然后你应该就能顺利运行了。【居士注释:怎么替换?我不懂……可是作者就说了这一句……】
修复预连接(prelink)的问题。确保你备份好了以下文件(build/core/prelink-linux-arm.map),因为我确信以后官方会修复这个问题。
【居士注释:真TM长啊……】

  1. # 0xC0000000 – 0xFFFFFFFF Kernel
  2. # 0xB0100000 – 0xBFFFFFFF Thread 0 Stack
  3. # 0xB0000000 – 0xB00FFFFF Linker
  4. # 0xA0000000 – 0xBFFFFFFF Prelinked System Libraries
  5. # 0x90000000 – 0x9FFFFFFF Prelinked App Libraries
  6. # 0x80000000 – 0x8FFFFFFF Non-prelinked Libraries
  7. # 0x40000000 – 0x7FFFFFFF mmap’d stuff
  8. # 0x10000000 – 0x3FFFFFFF Thread Stacks
  9. # 0x00000000 – 0x0FFFFFFF .text / .data / heap
  10. # Note: The general rule is that libraries should be aligned on 1MB
  11. # boundaries. For ease of updating this file, you will find a comment
  12. # on each line, indicating the observed size of the library, which is
  13. # one of:
  14. #
  15. #     [<64K] observed to be less than 64K
  16. #     [~1M] rounded up, one megabyte (similarly for other sizes)
  17. #     [???] no size observed, assumed to be one megabyte
  18. # core system libraries
  19. libdl.so                0xAFF00000 # [<64K]
  20. libc.so                 0xAFD00000 # [~2M]
  21. libstdc++.so            0xAFC00000 # [<64K]
  22. libm.so                 0xAFB00000 # [~1M]
  23. liblog.so               0xAFA00000 # [<64K]
  24. libcutils.so            0xAF900000 # [~1M]
  25. libthread_db.so         0xAF800000 # [<64K]
  26. libz.so                 0xAF700000 # [~1M]
  27. libevent.so             0xAF600000 # [???]
  28. libssl.so               0xAF400000 # [~2M]
  29. libcrypto.so            0xAF000000 # [~4M]
  30. libsysutils.so          0xAEF00000 # [~1M]
  31. # bluetooth
  32. liba2dp.so              0xAEE00000 # [~1M]
  33. audio.so                0xAED00000 # [~1M]
  34. input.so                0xAEC00000 # [~1M]
  35. libbluetoothd.so        0xAEA00000 # [~2M]
  36. libbluedroid.so         0xAE900000 # [<64K]
  37. libbluetooth.so         0xAE800000 # [~1M]
  38. libdbus.so              0xAE700000 # [~1M]
  39. # extended system libraries
  40. libril.so               0xAE600000 # [~1M]
  41. libreference-ril.so     0xAE500000 # [~1M]
  42. libwpa_client.so        0xAE400000 # [<64K]
  43. libnetutils.so          0xAE300000 # [~1M]
  44. # core dalvik runtime support
  45. libandroid_servers.so   0xAE200000 # [~1M]
  46. libicuuc.so             0xADE00000 # [~4M]
  47. libicui18n.so           0xAD900000 # [~5M]
  48. libandroid_runtime.so   0xAD300000 # [~6M]
  49. libnativehelper.so      0xAD100000 # [~2M]
  50. libdvm-ARM.so           0xAD000000 # [???]
  51. libdvm.so               0xACA00000 # [~6M]
  52. # Note: libicudata.so intentionally omitted
  53. # graphics
  54. libpixelflinger.so      0xAC900000 # [~1M]
  55. # libcorecg is for backward-compatibility with donut
  56. libcorecg.so            0xAC800000 # [???]
  57. libsurfaceflinger_client.so 0xAC700000 # [~1M]
  58. libsurfaceflinger.so    0xAC500000 # [~2M]
  59. libGLES_android.so      0xAC400000 # [~1M]
  60. libagl.so               0xAC300000 # [???]
  61. libGLESv1_CM.so         0xAC200000 # [~1M]
  62. libGLESv2.so            0xAC100000 # [~1M]
  63. libsgl.so               0xAC000000 # [???] 0xAB800000
  64. #libOpenVG_CM.so         0xAC000000 # [???]
  65. #libOpenVGU_CM.so        0xABF00000 # [???]
  66. libEGL.so               0xABE00000 # [~1M]
  67. libETC1.so              0xABD00000 # [<64K]
  68. libacc.so               0xABC00000 # [~1M]
  69. libexif.so              0xABB00000 # [~1M]
  70. libcamera_client.so     0xABA80000 # [~1M]
  71. libui.so                0xAB900000 # [~1M]
  72. # libsgl is for backward-compatibility with donut
  73. libskia.so              0xAB100000 # [~7M]
  74. librs_jni.so            0xAB000000 # [~1M]
  75. libRS.so                0xA9E00000 # [~2M]
  76. libjnigraphics.so       0xA9D00000 # [<64K]
  77. libskiagl.so            0xA9C00000 # [~1M]
  78. # audio
  79. libvorbisidec.so        0xA9B00000 # [~1M] 0xA9400000
  80. #libFLAC.so              0xA9B00000 # [???]
  81. libaudiopolicy.so       0xA9A00000 # [~1M]
  82. libaudiopolicygeneric.so 0xA9900000 # [???]
  83. libsoundpool.so         0xA9800000 # [~1M]
  84. libgps.so               0xA9700000 # [~1M] 0xA7A00000
  85. #libaudio.so             0xA9700000 # [~1M] not prelinked for msm
  86. libspeech.so            0xA9600000 # [~1M]
  87. libsonivox.so           0xA9500000 # [~1M]
  88. libqcamera.so            0xA9400000 # [~1M]
  89. libmedia_jni.so         0xA9300000 # [~1M]
  90. libmediaplayerservic
    e.so 0xA9200000 # [~1M]

  91. libmedia.so             0xA9000000 # [~2M]
  92. libFFTEm.so             0xA8F00000 # [~1M]
  93. libSR_AudioIn.so        0xA8E00000 # [~1M] for external/srec
  94. libaudioflinger.so      0xA8D00000 # [~1M]
  95. # assorted system libraries
  96. libsqlite.so            0xA8B00000 # [~2M]
  97. libexpat.so             0xA8A00000 # [~1M]
  98. libwebcore.so           0xA8300000 # [~7M]
  99. libbinder.so            0xA8200000 # [~1M]
  100. libutils.so             0xA8100000 # [~1M]
  101. libcameraservice.so     0xA8000000 # [~1M]
  102. libhardware.so          0xA7F00000 # [<64K]
  103. libhardware_legacy.so   0xA7E00000 # [~1M]
  104. libapp_process.so       0xA7D00000 # [???]
  105. libsystem_server.so     0xA7C00000 # [~1M]
  106. libime.so               0xA7B00000 # [???]
  107. libcamera.so            0xA7900000 # [~1M]
  108. liboemcamera.so         0xA7700000 # [~2M]
  109. libdiskconfig.so        0xA7600000 # [<64K]
  110. libemoji.so             0xA7500000 # [<64K]
  111. libjni_latinime.so      0xA7400000 # [~1M]
  112. libjni_pinyinime.so     0xA7300000 # [~1M]
  113. libttssynthproxy.so     0xA7200000 # [~1M] for frameworks/base
  114. libttspico.so           0xA7000000 # [~2M] for external/svox
  115. # pv libraries
  116. libpvasf.so                    0xA6F00000 # [???]
  117. libpvasfreg.so                 0xA6E00000 # [???]
  118. #libomx_sharedlibrary.so        0xA6D00000 # [~1M]
  119. #libopencore_download.so        0xA6C00000 # [~1M]
  120. #libopencore_downloadreg.so     0xA6B00000 # [~1M]
  121. #libopencore_net_support.so     0xA6800000 # [~3M]
  122. #libopencore_rtsp.so            0xA6200000 # [~6M]
  123. libopencore_rtspreg.so         0xA6100000 # [~1M]
  124. libopencore_author.so          0xA5D00000 # [~4M]
  125. #libomx_aacdec_sharedlibrary.so 0xA5B00000 # [~2M]
  126. libqcomm_omx.so               0xA5A00000 # [<64K] #0xA3800000
  127. #libomx_amrdec_sharedlibrary.so 0xA5A00000 # [~1M]
  128. #libomx_amrenc_sharedlibrary.so 0xA5900000 # [~1M]
  129. #libomx_avcdec_sharedlibrary.so 0xA5800000 # [~1M]
  130. #libomx_avcenc_sharedlibrary.so 0xA5700000 # [???]
  131. #libomx_m4vdec_sharedlibrary.so 0xA5600000 # [~1M]
  132. #libomx_m4venc_sharedlibrary.so 0xA5500000 # [???]
  133. #libomx_mp3dec_sharedlibrary.so 0xA5400000 # [~1M]
  134. #libopencore_mp4local.so        0xA5200000 # [~2M]
  135. #libopencore_mp4localreg.so     0xA5100000 # [~1M]
  136. libopencore_player.so          0xA4800000 # [~9M]
  137. # opencore hardware support
  138. libmm-adspsvc.so              0xA4700000 # [<64K]
  139. #libOmxCore.so                 0xA4600000 # [<64K]
  140. #libOmxMpeg4Dec.so             0xA4500000 # [~1M]
  141. #libOmxH264Dec.so              0xA4400000 # [~1M]
  142. #libOmxVidEnc.so               0xA4300000 # [~1M]
  143. libopencorehw.so              0xA4200000 # [~1M]
  144. libOmxVdec.so                 0xA4100000 # [~1M]
  145. libmm-omxcore.so              0xA4000000 # [<64K]
  146. # pv libraries
  147. libopencore_common.so         0xA3900000 # [~7M]
  148. # stagefright libraries
  149. libstagefright_amrnb_common.so     0xA3700000 # [~1M]
  150. libstagefright_avc_common.so       0xA3600000 # [~1M]
  151. libstagefright_color_conversion.so 0xA3500000 # [<64K]
  152. libstagefright_omx.so              0xA3400000 # [~1M]
  153. libstagefrighthw.so                0xA3300000 # [~1M]
  154. libstagefright.so                  0xA2F00000 # [~4M]
  155. # libraries for specific hardware
  156. libgsl.so               0xA2E00000 # [~1M]
  157. libhtc_acoustic.so      0xA2D00000 # [<64K]
  158. libhtc_ril.so           0xA2C00000 # [~1M]
  159. liblvmxipc.so           0xA2B00000 # [~1M] for vendor/nxp
  160. libreference-cdma-sms.so 0xA2A00000 # [<64K] for hardware/ril
  161. # libraries for specific apps or temporary libraries
  162. libcam_ipl.so           0x9F000000 # [???]
  163. libwbxml.so             0x9EF00000 # [???]
  164. libwbxml_jni.so         0x9EE00000 # [~1M]
  165. libxml2wbxml.so         0x9EB00000 # [~1M]
  166. libdrm1.so              0x9EA00000 # [~1M]
  167. libdrm1_jni.so          0x9E900000 # [<64K]
  168. libwapcore.so           0x9E800000 # [???]
  169. libstreetview.so        0x9E700000 # [???]
  170. libwapbrowsertest.so    0x9E600000 # [???]
  171. libminiglobe.so         0x9E500000 # [???]
  172. libearth.so             0x9E400000 # [???]
  173. libembunit.so           0x9E300000 # [<64K]
  174. libneon.so              0x9E200000 # [???]
  175. libjni_example.so       0x9E100000 # [???]
  176. libjni_load_test.so     0x9E000000 # [???]
  177. libjni_lib_test.so      0x9DF00000 # [???]
  178. librunperf.so           0x9DE00000 # [???]
  179. libctest.so             0x9DD00000 # [<64K]
  180. libUAPI_jni.so          0x9DC00000 # [???]
  181. librpc.so               0x9DB00000 # [~1M]
  182. libtrace_test.so 
           0x9DA00000 # [???]

  183. libsrec_jni.so          0x9D800000 # [~2M]
  184. libjpeg.so              0x9D700000 # [~1M]
  185. libiprouteutil.so       0x9D600000 # [~1M] for external/iproute2
  186. libnetlink.so           0x9D500000 # [<64K] for external/iproute2
  187. libpagemap.so           0x9D400000 # [<64K] for system/extras/libpagemap
  188. libstlport.so           0x9D100000 # [~3M] for external/stlport
  189. libzxing.so             0x9D000000 # [<64K] for goggles
  190. libinterstitial.so      0x9CF00000 # [<64K] for goggles
  191. liblept.so              0x9CA00000 # [~5M] for external/leptonica

复制代码


为了防止你不知道该怎么做,你可以直接下载下面的文件,解压缩然后使用fastboot刷写。
AOSP FROYO 2.2 V2
fastboot flash system system.img
fastboot flash boot boot.img
fastboot flash userdata userdata.img
主要特点:
v2
-修复了GPS问题(是由于错误的预连接问题导致找不到gps.conf和libgps.so)
-修复了所有预连接错误(编辑了build/core/prelink-linux-arm.map)
-用旧的集成的图库替换了3D图库(源代码不完整,旧的可以使用多点触摸)
-从源代码里添加了TTS库(从sdk.mk中取得)
-修复了丢失的音效(在OriginalSounds.mk中的Lock.ogg和Unlock.ogg)
-相机仍然不工作,但是现在我们没有预连接的错误了,所以通过替换liboemcamera.so应该可以修复这个问题(Cyanogen的大概能好用?)
-开机动画仍然不好用……(我正在检查,但是我搞不懂为什么不好用!)
v1
-AOSP 2.2 Froyo
-WiFi + Kernel 2.6.32 可以运行
-3D驱动
-JIT + JIT JSC开启
-浏览器支持多点缩放
不好用的部分:
-没有开机动画,启动时屏幕空白。但是你可以使用adb logcat来检查系统。
-相机
-图库没有mdpi图形支持,我不久就修复这个问题。


居士注释:原帖有图,我就不转了。反正XDA不会被和谐……

原文….:

Tired of using someone else wrapped up Android OS? If you are like me, you probably would like to take control over what you are using on your device. There isn’t any Market or any Google Applications on this. This is intended for developing applications and have a working phone using the latest Android OS for HTC Magic/Sapphire’s.
The recommended system for downloading and compiling Android OS from source (AOSP – Android Open-Source Project) is Ubuntu. I have a Mac with Snow Leopard, so I use VirtualBox to run a virtual machine that has Ubuntu installed on it. Once you have Ubuntu installed on the virtual machine, you need to prepare it so that you can download and compile successfully AOSP.
First, make sure your OS is up-to-date, by running the Update Manager from the System>Administration menu. Once that is completed, go to Applications>Accessories and open Terminal.
Type this command to install all the needed libraries (this is all one line) – Ubuntu 10.04 64Bits:

Code:

sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind lib32readline5-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev

Type this command to install all the needed libraries (this is all one line) – Ubuntu 32Bits (thanks to Szusz!):
Edit your /etc/apt/sources.list and add these lines on the end:

Code:

deb pl.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb pl.archive.ubuntu.com/ubuntu/ jaunty universe

Code:

sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind libreadline5-dev gcc-multilib g++-multilib libc6-dev libncurses5-dev x11proto-core-dev libx11-dev libreadline5-dev libz-dev

Prepare the OS to run Java 5.0, which is the only compatible Java version for compiling. Recent versions of Ubuntu don’t need this step (10.04+).

Code:

sudo update-java-alternatives -s java-1.5.0-sun

Fix a dependency with X11 (64Bits):

Code:

sudo ln -s /usr/lib32/libX11.so.6 /usr/lib32/libX11.so

Fix a dependency with X11 (32Bits):

Code:

sudo ln -s /usr/lib/libX11.so.6 /usr/lib/libX11.so

That’s it for the Operative system. Now the tool that Google uses to control the source files is Repo. To install type this:

Code:

cd ~
mkdir bin
curl http://android.git.kernel.org/repo >~/bin/repo
chmod a+x ~/bin/repo
PATH="$HOME/bin:$PATH"

Now to download the source files, compile etc, all you need to do is to copy this text to a file in Ubuntu (to create one, just type “gedit android.sh”):

PHP Code:

#!/bin/bash
#Created by dferreira (lizned.arierref@gmail.com)
#Checkout and compile master repositories out of source.android.com
SOURCE_FOLDER=~/magicDroid
BRANCH="master";
KERNEL="android-msm-2.6.32";
#Check for Repo
if [ ! -f ~/bin/repo ]
then
    cd ~
mkdir bin
    curl http://android.git.kernel.org/repo >~/bin/repo
chmod a+x ~/bin/repo
    PATH="$HOME/bin:$PATH"
fi
#Create project folder
if [ ! -d $SOURCE_FOLDER ]
then
    mkdir $SOURCE_FOLDER
fi
cd $SOURCE_FOLDER
#clean old compiled files, there can be new stuff!
make installclean
make clean
#Get updated source files from AOSP
repo init -u git://android.git.kernel.org/platform/manifest.git -b $BRANCH
git clone git://android.git.kernel.org/kernel/msm.git -b $KERNEL #clone latest kernel project
cd $SOURCE_FOLDER/msm
git pull #check if anything new
cd $SOURCE_FOLDER
repo sync #update repo's
#Get HTC drivers if they don't exist already on folder
cd ~/magicDroid
if [ ! -f sapphire_update.zip ]
then   
    wget --referer=http://developer.htc.com/google-io-device.html http://member.america.htc.com/download/RomCode/ADP/signed-google_ion-ota-14721.zip?
mv signed-google_ion-ota-14721.zip sapphire_update.zip
fi
#unzip the proprietary files from HTC for Sapphire
if [ ! -d vendor/htc/sapphire/proprietary ]
then
    cd $SOURCE_FOLDER/device/htc/sapphire/
    ./unzip-files.sh
fi
#Compile latest kernel
cd $SOURCE_FOLDER/msm
make ARCH=arm msm_defconfig
make ARCH=arm CROSS_COMPILE=$SOURCE_FOLDER/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- zImage -j4
#copy kernel to source if success!
if [ -f $SOURCE_FOLDER/msm/arch/arm/boot/zImage ]
then
    cp $SOURCE_FOLDER/msm/arch/arm/boot/zImage $SOURCE_FOLDER/device/htc/dream-sapphire/kernel
fi
#Compile wifi module to match the kernel
cd $SOURCE_FOLDER/system/wlan/ti/sta_dk_4_0_4_32
make KERNEL_DIR=$SOURCE_FOLDER/msm/ ARCH=arm CROSS_COMPILE=$SOURCE_FOLDER/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- -j4
#copy updated wlan.ko that matches the kernel
if [ -f $SOURCE_FOLDER/system/wlan/ti/sta_dk_4_0_4_32/wlan.ko ]
then
    cp $SOURCE_FOLDER/system/wlan/ti/sta_dk_4_0_4_32/wlan.ko $SOURCE_FOLDER/device/htc/dream-sapphire/wlan.ko
fi
#setup compiling environment and build images
cd $SOURCE_FOLDER
. build/envsetup.sh
#cd $SOURCE_FOLDER
lunch
make -j4
#get to compiled folder
cd $SOURCE_FOLDER/out/target/product/sapphire/
echo 'Your files ready for flashing are here:'
ls *.img

Save the file and make it executable with:

Code:

chmod 755 android.sh

To run it, just type:

Code:

./android.sh

That’s it! Now just follow the instructions. It should ask for your name, email and then later to what device are you compiling. The script that you put on the text file is meant for Sapphire, so you should choose option that has sapphire on it, US version or EU version, with ENG on it, which will make the compiled OS with root access.
In the end, you’ll have a set of .img files, ready to be installed on your device.
Using your favourite recovery, wipe everything before flashing the OS and then boot into fastboot. I’m pretty sure that if you really want to compile your own OS, you already know how to use fastboot. But anyway:
fastboot flash boot boot.img
fastboot flash system system.img
fastboot flash userdata userdata.img
Reboot your device and enjoy your own OS.
If you run into trouble, let me know.
Some fixes you might be interested:
Enable JIT on DalvikVM
Edit dalvik/vm/Android.mk

Code:

ifeq ($(TARGET_ARCH_VARIANT),armv5te)
    WITH_JIT := true
endif

Edit vendor/htc/sapphire/BoardConfigVendor.mk

Code:

WITH_JIT := true
ENABLE_JSC_JIT := true

Add support for audio+video recording on camera

Code:

We need to add BUILD_WITH_FULL_STAGEFRIGHT := true to your vendor's Buildxxx.mk to be able to record audio+video on the camera.

If you want to run this on 32A’s, you need to replace the kernel for a 32A one and you should be good to go.
Fix the prelinks issues. Make sure to make a backup of the file (build/core/prelink-linux-arm.map) because I’m almost sure it will get officially fixed in the future.

PHP Code:

# 0xC0000000 - 0xFFFFFFFF Kernel
# 0xB0100000 - 0xBFFFFFFF Thread 0 Stack
# 0xB0000000 - 0xB00FFFFF Linker
# 0xA0000000 - 0xBFFFFFFF Prelinked System Libraries
# 0x90000000 - 0x9FFFFFFF Prelinked App Libraries
# 0x80000000 - 0x8FFFFFFF Non-prelinked Libraries
# 0x40000000 - 0x7FFFFFFF mmap'd stuff
# 0x10000000 - 0x3FFFFFFF Thread Stacks
# 0x00000000 - 0x0FFFFFFF .text / .data / heap
# Note: The general rule is that libraries should be aligned on 1MB
# boundaries. For ease of updating this file, you will find a comment
# on each line, indicating the observed size of the library, which is
# one of:
#
#     [<64K] observed to be less than 64K
#     [~1M] rounded up, one megabyte (similarly for other sizes)
#     [???] no size observed, assumed to be one megabyte
# core system libraries
libdl.so                0xAFF00000 # [<64K]
libc.so                 0xAFD00000 # [~2M]
libstdc++.so            0xAFC00000 # [<64K]
libm.so                 0xAFB00000 # [~1M]
liblog.so               0xAFA00000 # [<64K]
libcutils.so            0xAF900000 # [~1M]
libthread_db.so         0xAF800000 # [<64K]
libz.so                 0xAF700000 # [~1M]
libevent.so             0xAF600000 # [???]
libssl.so               0xAF400000 # [~2M]
libcrypto.so            0xAF000000 # [~4M]
libsysutils.so          0xAEF00000 # [~1M]
# bluetooth
liba2dp.so              0xAEE00000 # [~1M]
audio.so                0xAED00000 # [~1M]
input.so                0xAEC00000 # [~1M]
libbluetoothd.so        0xAEA00000 # [~2M]
libbluedroid.so         0xAE900000 # [<64K]
libbluetooth.so         0xAE800000 # [~1M]
libdbus.so              0xAE700000 # [~1M]
# extended system libraries
libril.so               0xAE600000 # [~1M]
libreference-ril.so     0xAE500000 # [~1M]
libwpa_client.so        0xAE400000 # [<64K]
libnetutils.so          0xAE300000 # [~1M]
# core dalvik runtime support
libandroid_servers.so   0xAE200000 # [~1M]
libicuuc.so             0xADE00000 # [~4M]
libicui18n.so           0xAD900000 # [~5M]
libandroid_runtime.so   0xAD300000 # [~6M]
libnativehelper.so      0xAD100000 # [~2M]
libdvm-ARM.so           0xAD000000 # [???]
libdvm.so               0xACA00000 # [~6M]
# Note: libicudata.so intentionally omitted
# graphics
libpixelflinger.so      0xAC900000 # [~1M]
# libcorecg is for backward-compatibility with donut
libcorecg.so            0xAC800000 # [???]
libsurfaceflinger_client.so 0xAC700000 # [~1M]
libsurfaceflinger.so    0xAC500000 # [~2M]
libGLES_android.so      0xAC400000 # [~1M]
libagl.so               0xAC300000 # [???]
libGLESv1_CM.so         0xAC200000 # [~1M]
libGLESv2.so            0xAC100000 # [~1M]
libsgl.so               0xAC000000 # [???] 0xAB800000
#libOpenVG_CM.so         0xAC000000 # [???]
#libOpenVGU_CM.so        0xABF00000 # [???]
libEGL.so               0xABE00000 # [~1M]
libETC1.so              0xABD00000 # [<64K]
libacc.so               0xABC00000 # [~1M]
libexif.so              0xABB00000 # [~1M]
libcamera_client.so     0xABA80000 # [~1M]
libui.so                0xAB900000 # [~1M]
# libsgl is for backward-compatibility with donut
libskia.so              0xAB100000 # [~7M]
librs_jni.so            0xAB000000 # [~1M]
libRS.so                0xA9E00000 # [~2M]
libjnigraphics.so       0xA9D00000 # [<64K]
libskiagl.so            0xA9C00000 # [~1M]
# audio
libvorbisidec.so        0xA9B00000 # [~1M] 0xA9400000
#libFLAC.so              0xA9B00000 # [???]
libaudiopolicy.so       0xA9A00000 # [~1M]
libaudiopolicygeneric.so 0xA9900000 # [???]
libsoundpool.so         0xA9800000 # [~1M]
libgps.so               0xA9700000 # [~1M] 0xA7A00000
#libaudio.so             0xA9700000 # [~1M] not prelinked for msm
libspeech.so            0xA9600000 # [~1M]
libsonivox.so           0xA9500000 # [~1M]
libqcamera.so            0xA9400000 # [~1M]
libmedia_jni.so         0xA9300000 # [~1M]
libmediaplayerservice.so 0xA9200000 # [~1M]
libmedia.so             0xA9000000 # [~2M]
libFFTEm.so             0xA8F00000 # [~1M]
libSR_AudioIn.so        0xA8E00000 # [~1M] for external/srec
libaudioflinger.so      0xA8D00000 # [~1M]
# assorted system libraries
libsqlite.so            0xA8B00000 # [~2M]
libexpat.so             0xA8A00000 # [~1M]
libwebcore.so           0xA8300000 # [~7M]
libbinder.so         &
nbsp;  0xA8200000 # [~1M]
libutils.so             0xA8100000 # [~1M]
libcameraservice.so     0xA8000000 # [~1M]
libhardware.so          0xA7F00000 # [<64K]
libhardware_legacy.so   0xA7E00000 # [~1M]
libapp_process.so       0xA7D00000 # [???]
libsystem_server.so     0xA7C00000 # [~1M]
libime.so               0xA7B00000 # [???]
libcamera.so            0xA7900000 # [~1M]
liboemcamera.so         0xA7700000 # [~2M]
libdiskconfig.so        0xA7600000 # [<64K]
libemoji.so             0xA7500000 # [<64K]
libjni_latinime.so      0xA7400000 # [~1M]
libjni_pinyinime.so     0xA7300000 # [~1M]
libttssynthproxy.so     0xA7200000 # [~1M] for frameworks/base
libttspico.so           0xA7000000 # [~2M] for external/svox
# pv libraries
libpvasf.so                    0xA6F00000 # [???]
libpvasfreg.so                 0xA6E00000 # [???]
#libomx_sharedlibrary.so        0xA6D00000 # [~1M]
#libopencore_download.so        0xA6C00000 # [~1M]
#libopencore_downloadreg.so     0xA6B00000 # [~1M]
#libopencore_net_support.so     0xA6800000 # [~3M]
#libopencore_rtsp.so            0xA6200000 # [~6M]
libopencore_rtspreg.so         0xA6100000 # [~1M]
libopencore_author.so          0xA5D00000 # [~4M]
#libomx_aacdec_sharedlibrary.so 0xA5B00000 # [~2M]
libqcomm_omx.so               0xA5A00000 # [<64K] #0xA3800000
#libomx_amrdec_sharedlibrary.so 0xA5A00000 # [~1M]
#libomx_amrenc_sharedlibrary.so 0xA5900000 # [~1M]
#libomx_avcdec_sharedlibrary.so 0xA5800000 # [~1M]
#libomx_avcenc_sharedlibrary.so 0xA5700000 # [???]
#libomx_m4vdec_sharedlibrary.so 0xA5600000 # [~1M]
#libomx_m4venc_sharedlibrary.so 0xA5500000 # [???]
#libomx_mp3dec_sharedlibrary.so 0xA5400000 # [~1M]
#libopencore_mp4local.so        0xA5200000 # [~2M]
#libopencore_mp4localreg.so     0xA5100000 # [~1M]
libopencore_player.so          0xA4800000 # [~9M]
# opencore hardware support
libmm-adspsvc.so              0xA4700000 # [<64K]
#libOmxCore.so                 0xA4600000 # [<64K]
#libOmxMpeg4Dec.so             0xA4500000 # [~1M]
#libOmxH264Dec.so              0xA4400000 # [~1M]
#libOmxVidEnc.so               0xA4300000 # [~1M]
libopencorehw.so              0xA4200000 # [~1M]
libOmxVdec.so                 0xA4100000 # [~1M]
libmm-omxcore.so              0xA4000000 # [<64K]
# pv libraries
libopencore_common.so         0xA3900000 # [~7M]
# stagefright libraries
libstagefright_amrnb_common.so     0xA3700000 # [~1M]
libstagefright_avc_common.so       0xA3600000 # [~1M]
libstagefright_color_conversion.so 0xA3500000 # [<64K]
libstagefright_omx.so              0xA3400000 # [~1M]
libstagefrighthw.so                0xA3300000 # [~1M]
libstagefright.so                  0xA2F00000 # [~4M]
# libraries for specific hardware
libgsl.so               0xA2E00000 # [~1M]
libhtc_acoustic.so      0xA2D00000 # [<64K]
libhtc_ril.so           0xA2C00000 # [~1M]
liblvmxipc.so           0xA2B00000 # [~1M] for vendor/nxp
libreference-cdma-sms.so 0xA2A00000 # [<64K] for hardware/ril
# libraries for specific apps or temporary libraries
libcam_ipl.so           0x9F000000 # [???]
libwbxml.so             0x9EF00000 # [???]
libwbxml_jni.so         0x9EE00000 # [~1M]
libxml2wbxml.so         0x9EB00000 # [~1M]
libdrm1.so              0x9EA00000 # [~1M]
libdrm1_jni.so          0x9E900000 # [<64K]
libwapcore.so           0x9E800000 # [???]
libstreetview.so        0x9E700000 # [???]
libwapbrowsertest.so    0x9E600000 # [???]
libminiglobe.so         0x9E500000 # [???]
libearth.so             0x9E400000 # [???]
libembunit.so           0x9E300000 # [<64K]
libneon.so              0x9E200000 # [???]
libjni_example.so       0x9E100000 # [???]
libjni_load_test.so     0x9E000000 # [???]
libjni_lib_test.so      0x9DF00000 # [???]
librunperf.so           0x9DE00000 # [???]
libctest.so             0x9DD00000 # [<64K]
libUAPI_jni.so          0x9DC00000 # [???]
librpc.so               0x9DB00000 # [~1M]
libtrace_test.so        0x9DA00000 # [???]
libsrec_jni.so          0x9D800000 # [~2M]
libjpeg.so              0x9D700000 # [~1M]
libiprouteutil.so       0x9D600000 # [~1M] for external/iproute2
libnetlink.so           0x9D500000 # [<64K] for external/iproute2
libpagemap.so           0x9D400000 # [<64K] for system/extras/libpagemap
libstlport.so           0x9D100000 # [~3M] for external/stlport
libzxing.so             0x9D000000 # [<64K] for goggles
libinterstitial.so      0x9C
F00000 # [<64K] for goggles
liblept.so              0x9CA00000 # [~5M] for external/leptonica

How to fix the camera:
http://forum.xda-developers.com/show…&postcount=447
———————
In case you don’t want to do it yourself, you can just download this package, unzip it and fastboot flash the .img files.
AOSP FROYO 2.2 v3.1
fastboot flash system system.img
fastboot flash boot boot.img
fastboot flash userdata userdata.img
v3.1 – thanks to Jack for debugging it!
– Bootanimation is working!
– Wifi + Kernel from Cyanogen, as mine went boggus and I can’t test it if it works without a device.
– Full APN list
– Known bugs: camera onscreen controls do FC sometimes. Switching from camera to camcorder works, but fc when reverting back.
v3
– Live wallpapers support.
– Sound recorder is now visible to the user to use.
– All available languages are included.
– Fixed missing sound files.
– Cyanogen’s camera fixes are included. Really a pleasure to learn from what he has done!
v2.1
– Fixed camera – Use v2 and replace the boot.img with this one
What’s on it:
v2
– Fixed GPS (was missing gps.conf + libgps.so was being allocated to wrong prelink).
– Fixed all prelink errors by mapping all the libraries to the correct mmap banks (edited build/core/prelink-linux-arm.map).
– Replaced Gallery3D (not complete at sources) by old enhanced Gallery (multitouch working!)
– Added the Text-To-Speech libraries from source (got those from sdk.mk)
– Fixed missing sounds (Lock.ogg and Unlock.ogg in OriginalSounds.mk)
– Camera still not working, but now we don’t have a prelink error, so should be fixable by replacing liboemcamera.so by one that works – maybe Cyanogen’s??)
– Bootanimation still not working… (i’ve looked into it and I can’t figure out why it doesn’t!)
v1
– AOSP 2.2 Froyo
– WiFi + Kernel 2.6.32 up and running.
– 3D Drivers
– JIT + JIT JSC enabled
– Multi-touch zoom on browser
Doesn’t work:
– No boot animation, screen stays blank while booting but you can check it out using “adb logcat”
– Camera
– Gallery has missing mdpi graphics, I’ll fix it later

© 2017 Edison's NoteSsss

Theme by Anders NorenUp ↑