許久沒寫東西哩
之前寫的那個build image有問題,少了make kernel一段
所以大約都弄不出可用的.zip
因為正確做法其實就是那篇裡面引用的英文文件,所以我也懶得改了
有空再說吧
這幾週主要都是在想辦法把工程師用eclipse開發出來的原始碼,塞進整個build image的流程裡
不知道怎的,卡很大.... orz
首先我們需要的東西有:
1. APP的原始碼包 (包含 res/ src/ AndroidManifest.xml jni/ libs/ 和一些其他的零碎檔案)
2. 我比較吹毛求疵啦,會把eclipse自動生成的檔案都砍掉(.settings/ gen/ bin/ .classpath .project)
3. 將這包東西放到vender/xxxx/[yourAPP]
4. 寫一個Android.mk放在vender/xxxx/[yourAPP]裡面
5. 就make updatepackage啦
假如Android.mk是正確的,make跑完,應該就可以在out/....../system/apps/裡面看到這隻APP囉~~
Android.mk寫法如下:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := eng
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := [app name]
LOCAL_SDK_VERSION := current
LOCAL_STATIC_JAVA_LIBRARIES := jarLib1 jarLib2
# if .aidl is used
#LOCAL_SRC_FILES += [path]/[name].aidl
#LOCAL_AIDL_INCLUDES += [path]/[name].aidl
include $(BUILD_PACKAGE)
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := jarLib1:libs/ jarLib1.jar \
jarLib2:libs/jarLib2.jar
include $(BUILD_MULTI_PREBUILT)
這裡比較奇怪的是,如果我把LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES這段放在上面,跟LOCAL_STATIC_JAVA_LIBRARIES一起(部落格上都說這樣寫),不知道為什麼make就會一直報錯誤,說找不到liburary.....
只好先寫成這樣,至少目前看起來有.apk出來.....
BTW, 編譯時我有遇到一個小問題,說attribute must be localized
基本上就是程式碼沒寫好,沒有按照多國語言的那套流程
詳細說明在此,別人寫得很簡單又清楚,就不贅述了
以上不負責任教學,歡迎批評指教