博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
开发Android系统内置应用小记
阅读量:4553 次
发布时间:2019-06-08

本文共 1401 字,大约阅读时间需要 4 分钟。

 

Android系统内置应用可以使用更多的API、更高的权限,与开发普通应用最大的差别在于编译,内置应用编译需要用到Android.mk文件。下面是我在开发过程中的一些小记。

 

1、在AndroidMainfest.xml中添加 android:sharedUserId="android.uid.system" 。通过sharedUserId属性,相同User id的apk配置运行在同一进程中,把程序的User id配置成android.uid.system,也就是让程序运行在系统进程中,这样程序就有权限来读写系统配置。

 

2、编写Android.mk

 

ROOT_DIR := $(call my-dir)include $(CLEAR_VARS)ifeq ($(BOARD_HAS_MOTO_2D_SCANNER), true)# include the libararyLIBPATH := $(ROOT_DIR)/libs/armeabiLOCAL_PATH := $(LIBPATH)$(shell cp -rf $(LIBPATH)/*  $(TARGET_OUT)/lib/)  include $(CLEAR_VARS)LOCAL_MODULE_TAGS := optionalLOCAL_PREBUILT_LIBS := libbarcodereader.so libIAL.so libSDL.soinclude $(BUILD_MULTI_PREBUILT)# the appinclude $(CLEAR_VARS)LOCAL_PATH:= $(ROOT_DIR)LOCAL_PROGUARD_FLAG_FILES := proguard.cfgsLOCAL_MODULE_TAGS := optionalLOCAL_CERTIFICATE := platformLOCAL_DEX_PREOPT := falseLOCAL_PRIVILEGED_MODULE := trueLOCAL_SRC_FILES := $(call all-java-files-under, src)LOCAL_PACKAGE_NAME := CheckCamerainclude $(BUILD_PACKAGE)endif

Android.mk文件放在工程的根目录中。

当你的项目中要是用的.so库时,需要用下面命令将so库拷贝到系统对于的目录中(/vendor/lib或/system/lib)

# include the libararyLIBPATH := $(ROOT_DIR)/libs/armeabiLOCAL_PATH := $(LIBPATH)$(shell cp -rf $(LIBPATH)/*  $(TARGET_OUT)/lib/)

 

LOCAL_CERTIFICATE := platform 配置为apk使用系统签名
LOCAL_DEX_PREOPT := false  LOCAL_DEX_PREOPT用于配置编译时是否将apk和odex分离
 

 3、在Android系统源码目录下build\target\product\core.mk文件中添加Package Name:

 

转载于:https://www.cnblogs.com/l2rf/p/5212193.html

你可能感兴趣的文章
喝酒这件事,和等绿灯的习惯
查看>>
JSP前三章测试改错
查看>>
调研系统设计漫谈
查看>>
[学习一个] Matlab GUI 学习笔记 Ⅰ
查看>>
bzoj1006
查看>>
[C#] C# 与 Nessus 交互,动态构建扫描任务计划
查看>>
Android Http请求框架二:xUtils 框架网络请求
查看>>
关于XShell的常见使用和设置以及Linux中的常见命令.
查看>>
Activiti工作流学习-----基于5.19.0版本(4)
查看>>
解读svg points坐标值
查看>>
c shell脚本中查询变量有没有被定义
查看>>
暗黑破坏神
查看>>
C++函数中那些不可以被声明为虚函数的函数
查看>>
运算符重载
查看>>
java框架---->zxing框架的使用
查看>>
为什么越来越多的人偏爱go语言
查看>>
sql语句绑定方法
查看>>
机器学习-斯坦福:学习笔记2-监督学习应用与梯度下降
查看>>
[App Store Connect帮助]八、维护您的 App(2)将 App 从 App Store 中移除
查看>>
[Experiences]Code Snippet:自定义可重用的代码段
查看>>