需求:
集成一个新的apk模块到Android系统镜像.
实现:
这里要分两种情况, 一种是带源码的, 一种是不带源码的.
1. 无论带源码与否, 都需要在工程目录下建议Android.mk文件, 并在其中指定模块名称:
# 一种写法 LOCAL_PACKAGE_NAME := [模块名] # 另一种写法 LOCAL_MODULE := [模块名]
2. 带源码的, 需要使用以下方式将源码加入编译:
LOCAL_SRC_FILES := [源码路径]
不带源码的, 若是以apk形式存在, 则:
LOCAL_SRC_FILES := [apk路径]/[apk名称(带后缀)] # 若apk名称与模块名一致, 可以在定义了模块名称之后这样写. 这里是否写LOCAL_MODULE请自行判断 LOCAL_SRC_FILES := [apk路径]$(LOCAL_MODULE).apk
3. 在系统源码中搜索以下关键字:
PRODUCT_PACKAGES +=
这个关键字是用来将模块加入镜像中的. 找到以后就在合适的位置(什么是合适的位置需要根据源码来判断, 不同的项目源码编译配置不一致, 这里就不写具体位置了)将以下这段加上去:
PRODUCT_PACKAGES += [模块名]
4. 至此, 重新编译镜像, 需求达成.