最近項目中需要將開發中的應用繼承到Android系統設備中,使得設備在出版本的時候Android系統會自帶這個應用。如果這個我們自己開發的應用有用到第三方是用到第三方的SDK庫的話,則還必須對這些庫(.jar、.so)等進行統一的管理,操作步驟如下:
1. 將開發的第三方應用比如應用名為 VTest,項目結構如下圖所示:
將項目移到Android系統源碼:workspace_Android/packages/apps路徑下 [workspace_Android為Android工程,名字是自定義命名的],注意Android工程首先必須是全編過的。
2. 在當前目錄(workspace_Android/packages/apps/VTest)下新建一個 Android.mk 文件(這個文件的作用自己google),當然也可以從已有的系統項目,比如Browser中拷貝Android.mk文件然後修改。
修改如下所示:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
# Only compile source java files in this apk.
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := VTest
LOCAL_CERTIFICATE := platform
LOCAL_STATIC_JAVA_LIBRARIES := baiduMapAPI
LOCAL_SHARED_LIBRARIES := baiduMapApiEngine
include $(BUILD_PACKAGE)
# ============================================================
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES :=baiduMapAPI:libs/baidumapapi.jar
LOCAL_PREBUILT_LIBS :=baiduMapApiEngine:libs/armeabi/libBMapApiEngine_v1_3_5.so
LOCAL_MODULE_TAGS := optional
include $(BUILD_MULTI_PREBUILT)
[說明]:其中 LOCAL_STATIC_JAVA_LIBRARIES 和 LOCAL_SHARED_LIBRARIES 為靜態庫和共享庫,其中的區別自己搜索,這裡不再闡述。