将APK编译进内核
新建一个目录
\vendor\oem\platform\touch\
将APK放到该目录下
编写 Android.mk
\vendor\oem\platform\touch\Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := i40_SiS_touch_QAutoTool
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := APPS
LOCAL_CERTIFICATE := platform
LOCAL_SRC_FILES := QAutoTool_iSeries40_ELO_FT_201021A.apk
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA)/preinstall/app
include $(BUILD_PREBUILT)
LOCAL_MODULE :模块名称
LOCAL_MODULE_TAGS :optional 是所有版本都编译,eng是强制编译进debug版
LOCAL_MODULE_CLASS:用于制定LOCAL_MODULE_PATH的路径所在
LOCAL_CERTIFICATE 可设置如下值:
LOCAL_CERTIFICATE := testkey # 普通APK,默认情况下使用
LOCAL_CERTIFICATE := platform # 该APK完成一些系统的核心功能,这种方式编译出来的APK所在进程的UID为system
LOCAL_CERTIFICATE := shared # 该APK是media/download系统中的一环
LOCAL_CERTIFICATE := media # 该APK是media/download系统中的一环
如果不指定,默认使用testkey
LOCAL_SRC_FILES :源文件列表
LOCAL_MODULE_PATH :模块输出路径
参考:Android.mk
seLinux 权限
将apk编译进内核后,需要selinux权限才可以正常使用。根据avc log添加 seLinux 权限