有些时候,上层的App需调用一些系统功能,比如, 调用返回键, HOME键。但是上层的权限不够,这时,将app代码编放进系统里编译,这样任何的权限都可以获取。下面介绍如何将代码编进系统。
首先,先将代码的一些不必要的文件/文件夹删除,如图,只需保留划线的3个。
以下是删掉之后的:
编写make文件,以下是详细的make文件。
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := kw_can:kw_can.jar //引用Jar包
include $(BUILD_MULTI_PREBUILT)
include $(CLEAR_VARS)
LOCAL_JNI_SHARED_LIBRARIES := libserial_port //需要添加的so库
LOCAL_STATIC_JAVA_LIBRARIES := kw_can \ // 需要的jar包
android-support-v4
LOCAL_MODULE_TAGS := optional #是否可卸载
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := RmtCan #文件夹名,一般一般是工程名
LOCAL_CERTIFICATE := platform
LOCAL_PRIVILEGED_MODULE := true #编译完成后app是否在 priv-app的目录下
LOCAL_MULTILIB := 32
include $(BUILD_PACKAGE)
添加的代码路径: ...........\packages\apps\你的工程代码
编译完成后的App路径:.....\out\target\product\rmt8735_6tb_s_l1\system\priv-app
AndroidManifest修改:
在在上级的目录下添加:
coreApp="true"
android:sharedUserId="android.uid.system"
这样获取的权限是最大的。
这样就可以了,在使用 mmm paclage/apps/你的工程名 就可以编译了。一般的,添加进去将整个全new一遍。