製作自己的android vendor


1. 下載android源碼,並將vendor下面的sample目錄複製一份,改名爲mmoid
2. 修改products目錄下的AndroidProducts.mk文件,改爲RODUCT_MAKEFILES := \
$(LOCAL_DIR)/mmoid_addon.mk保存
3. 修改sample_addon.mk文件爲mmoid_addon.mk

4.mmoid_addon.mk文件中的
PRODUCT_PACKAGES := \
PlatformLibraryClient \         =》對應於apps下的client文件夾裏的內容
com.example.android.platform_library \ =》frameworks下的PlatformLibrary文件夾
libplatform_library_jni =》frameworks下的PlatformLibrary下的jni文件夾

5.修改PlatfromLibrary下的android.mk文件,將
32 33行改爲
# This is the target being built.
LOCAL_MODULE:= com.mmoid.android.platform_library
44行改爲LOCAL_DROIDDOC_OPTIONS := com.mmoid.android.platform_library

6 修改mmoid_addon.mk文件將第四行改爲com.mmoid.android.platform_library \
8、9行改爲PRODUCT_COPY_FILES := \


vendor/mmoid/frameworks/PlatformLibrary/com.mmoid.android.platform_library.xml:system/etc/permissions/com.mmoid.and

roid.platform_library.xml

7 將com.example.android.platform_library.xml修改爲。。。mmoid。。。。打開裏面的內容,將之修改爲
<?xml version="1.0" encoding="utf-8"?>
<permissions>
<library name="com.mmoid.android.platform_library"
file="/system/framework/com.mmoid.android.platform_library.jar"/>
</permissions>

8. 注意這裏生成的.jar的文件,不包含manifest和資源信息,custom的這些東西需要放在frameworks/base/res下,詳細信息 參考

mmoid/frameworks/PlatformLibrary/readme.txt

19:27 2010/4/21
9. 修改mmoid/frameworks/PlatformLibrary/java/com/mmoid/android /platform_library下的PlatformLibrary.java中第一行爲

package com.mmoid.android.platform_library;

10 修改mmoid/apps/client下的AndroidManifest.xml裏的內容,將其中的example替換爲mmoid,此處的xml文 件指定了生成的apk文

件所需要一來的庫,已將生成的package名字。

11. vendor/mmoid/apps/client android.mk 35行,改LOCAL_JAVA_LIBRARIES := com.example.android.platform_library。

12 vendor/mmoid/apps/client/src/com/mmoid/android/platform_library/client Client.java
package com.mmoid.android.platform_library.client;

import com.mmoid.android.platform_library.PlatformLibrary;

雪夜刀手:轉載請註明http://hi.baidu.com/snownight

vendor目錄的內容是針對不同的平臺做的移植,還有,如果bionic用到的 kernel頭文件,需要用update.py更新,具體做法可以參考文檔(...\platform\bionic \libc\kernel\README.TXT)
另外...\platform\build\core\combo\linux-arm.mk 這個makefile裏包含了編譯器,ARM指令集的些設置

編譯android的platform之前,請運行 ...\platform\build\envsetup.sh

大家可以在..\platform\vendor目錄看到 htc,asus,qcom這些目錄,說明platform部分移植移植到這些平臺。

如果要編譯針對htc之dream-open平臺的android,需要如下的操作(假設當前目錄爲android源碼根目錄):
複製 build/buildspec.mk.default 爲 buildspec.mk(放在android源碼的根目錄)
在 buildspec.mk 中文件前面加入(注意zImage是你移植好的 kernel/arch/arm/boot/zImage)
TARGET_PRODUCT := htc_dream
TARGET_PREBUILD_KERNEL := ~/workspace/android/vendor/htc/dream-open/zImage

轉自:http://hi.baidu.com/xxw8393/blog/item/dfb302ed9720364278f055fe.html

發佈了11 篇原創文章 · 獲贊 6 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章