如何将自己写的代码编进系统
2016-12-12 09:13
351 查看
有些时候,上层的App需调用一些系统功能,比如, 调用返回键, HOME键。但是上层的权限不够,这时,将app代码编放进系统里编译,这样任何的权限都可以获取。下面介绍如何将代码编进系统。
首先,先将代码的一些不必要的文件/文件夹删除,如图,只需保留划线的3个。
![](https://img-blog.csdn.net/20161212085925625?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTY5NDMyOA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
以下是删掉之后的:
![](https://img-blog.csdn.net/20161212090105049?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTY5NDMyOA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
编写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"
这样获取的权限是最大的。
![](https://img-blog.csdn.net/20161212091112080?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTY5NDMyOA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
这样就可以了,在使用 mmm paclage/apps/你的工程名 就可以编译了。一般的,添加进去将整个全new一遍。
首先,先将代码的一些不必要的文件/文件夹删除,如图,只需保留划线的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一遍。
相关文章推荐
- 零代码如何打造自己的实时监控预警系统
- 由成幻OnlineJudge学习如何做自己的Acm-Icpc在线评判系统-5.在线编译与测试系统代码粗解
- 零代码如何打造自己的实时监控预警系统
- 写一下自己一个星期玩树莓派的经验,如何安装系统,如何在树莓派中安装opencv,如何运行代码。
- 由成幻OnlineJudge学习如何做自己的Acm-Icpc在线评判系统-5.在线编译与测试系统代码粗解
- 零代码如何打造自己的实时监控预警系统
- 由成幻OnlineJudge学习如何做自己的Acm-Icpc在线评判系统-4.建立基本的网站类库
- 嵌入式系统及如何开发自己的嵌入式系统
- 如何建立自己的新闻发布系统?
- 不更改代码的情况下如何优化数据库系统
- 如何判断自己的系统是否安全!
- 如何把自己做好的系统做成一个安装软件
- 刚把过去一些vc共3G多参考的代码恢复到系统中,可惜自己写的有几个无法恢复了
- 如何将自己的代码自动添加版权信息[转]
- 如何贴加自己的应用程序到WINCE内核中,并且随系统启动而启动!
- 奉献给搞.NET和学习.NET的学习资料和自己收集的代码,个人的知识库系统
- 如何在强类型化DS中加入自己的代码
- 如何提升自己的表为系统表,防止误操作对其进行修改
- CRM系统厂商如何做好自己的CRM?
- 手把手教你如何建立自己的Linux系统(LFS速成手册)