1. 前言
最近在学习Android系统开发,在开发过程中可能要到将三方apk集成到系统中的需求。目前我了解的方法有两种。
- 一种是在系统编译完毕之后,再将三方apk文件放置到系统目录之下。参考如何将apk文件更新到系统中vendor文件夹下。
- 还有一种是在Android系统编译时顺带着将三方apk文件打包到系统中。
2. 系统编译时
-
首先在Android系统目录
XXX\packages\apps
之下新建一个目录。例如APP_NAME
(APP_NAME可以换成自己集成的第三方apk的文件名)。然后在该目录下放置需要集成的APP_NAME.apk
文件和Android.mk
文件。目录结构如下所示:APP_NAME: APP_NAME.apk Android.mk 复制代码
-
编写
Android.mk
文件。LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := APP_NAME LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := APP_NAME.apk LOCAL_MODULE_CLASS := APPS LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX) LOCAL_CERTIFICATE := platform include $(BUILD_PREBUILT) 复制代码
-
验证是否能够编译到系统中。当然每次都编译系统可能需要花很多时间。我们可以选择单个模块编译。
xxx$ . build/envsetup.sh xxx$ lunch [你的Project_Name] xxx$ cd packages/apps/APP_NAME/ xxx/packages/apps/APP_NAME$ mm 复制代码
当显示为
#### build completed successfully (xx:xx (mm:ss)) ####
则说明配置没有问题。可以重新编译系统测试最终情况。
文/谢康