从零开始自定义安卓系统(6) 自定义模块 添加系统app
从零开始自定义安卓系统(6) 自定义模块 添加系统app
前言
在之前就知道可以通过PRODUCT_PACKAGES 添加自己的包, 具体操作是 新建一个模块,然后
| |
要定义一个模块 可以使用soong 或者makefile, 在新版本系统推荐使用soong
soong 使用 .bp文件定义模块 参考
从官方例子就可以看到其实格式和json一样简单,
| |
主要问题是找到需要的模块和属性 这个时候就需要格式参考
里面主要根据语言分类, 想做一件事的时候查询对应类型,和对应模块名的格式参考
添加预下载apk
查看android/soong/java类型 看名字就知道 前面两个就是.
android_app和android_app_import
查阅文档克制区别在于 前者是需要编译的模块 后者是直接导入apk文件
文档提供了一个例子
| |
文档里还提供5行的其他选项, 不过基本都是通用选项, 与app有关的不多 , 看旁边注释就能了解作用
如果要导入一个叫vnc.apk的文件
新建一个目录,放入apk文件,和Android.bp
| |
然后在bluebird.mk (产品mk文件)添加
| |
然后编译即可在 system/app 看到 vnc_import目录
如果遇到 mismatch in the <uses-library> tags between the build system and the manifest:
则按提示在 产品文件添加
| |
或在bp文件添加提示中对应的lib
| |