32位系统编译martin(DZO)的AOSP2.3的方法

本文假设你已经会编译前面的2.2了。
为什么要写下来呢?因为正常的从aosp git下来的gingerbread源码都是要求使用64位系统来编译的,刚听是非说蛋总已经修改成32位系统可以编译了。于是网上找了下方法,果然找到,就顺便写了下来,前面一段64位改32位系统编译不是我的功劳,主要参考自:truelife.sinaapp.com/?p=125这里,后面的一段是我自己遇到时进行的修改。

首先获取DZO的AOSP2.3的manifest.xml
repo init -u git://androidhtc.git.sourceforge.net/gitroot/androidhtc/manifest -b gingerbread
成功后进入下一步同步源码
repo sync
同步源码完成后进行关键的修改(就是让32位的系统可以编译2.3)
1.)build/core/mani.mk #75 ifneq (64,$(findstring 64,$(build_arch))) 将这里的64改为i686
2.)修改external/clearsilver/cgi/Android.mk
external/clearsilver/java-jni/Android.mk
external/clearsilver/util/Android.mk
external/clearsilver/cs/Android.mk

这四个文件里的
LOCAL_CFLAGS += -m64
LOCAL_LDFLAGS += -m64

这两行里的64改为32

OK这时已经可以在32位系统下进行编译了。

下面再进行一下小修改,因为DZO的这个2.3好像不能直接编译。
修改system/wlan/ti/sta_dk_4_0_4_32/config/Android.mk 将每个 LOCAL_MODULE_TAGS := user 都改为 LOCAL_MODULE_TAGS := optional
修改system/wlan/ti/sta_dk_4_0_4_32/CUDK/tiwlan_loader/Android.mk 在最后一行include $(BUILD_EXECUTABLE)之上增加一行:LOCAL_MODULE_TAGS := optional
修改system/wlan/ti/sta_dk_4_0_4_32/wpa_supplicant_lib/Android.mk 在倒数第三行 include $(BUILD_STATIC_LIBRARY)之上增加一行:LOCAL_MODULE_TAGS := optional

至此,这个系统已经修改完毕,可以进行下面的编译了
. build/envsetup.sh
lunch full_vogue-eng
make

呵呵,我现在还在进行编译呢。

标签: AOSP, 编译, 系统, gingerbread, 32位

评论已关闭