最近项目中需要将开发中的应用继承到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 为静态库和共享库,其中的区别自己搜索,这里不再阐述。