系统应用
Android有一套电子邮件、短信、日历、互联网浏览和联系人等的核心应用。平台的应用与用户可以选择安装的应用一样,没有特殊状态。因此第三方应用可成为用户的默认网络浏览器、短信 Messenger 甚至默认键盘(有一些例外,例如系统的“设置”应用)。
系统应用可用作用户的应用,以及提供开发者可从其自己的应用访问的主要功能。例如,如果您的应用要发短信,您无需自己构建该功能,可以改为调用已安装的短信应用向您指定的接收者发送消息。
简而言之,“该应用是作为预安装的或作为system.img(作为Android操作系统的AOSP系统映像)提供的,称为系统App。 系统应用程序可以轻松访问某些平台(应用程序框架)级的API调用”。
系统应用程序是ROM在系统分区中的预安装应用程序。 换句话说,系统应用程序就是放置在Android设备上/ system / app文件夹下的应用程序。
/ system / app是只读文件夹。 Android设备用户无权访问此分区。 因此,用户无法直接从中安装或卸载应用程序。
手机预装了相机,设置,消息,Google Play商店等应用,制造商通常不提供删除此类应用的选项,因为这可能会影响设备的功能。 如果要删除系统应用程序,则需要先对设备进行root用户操作。
系统应用安装位置
Android系统应用通常放在/system/app和/system/priv-app中,priv-app中拥有更高的权限,应用安装到系统有两种方式;
一、系统整体编译
应用的Android.mk声明LOCAL_PRIVILEGED_MODULE := true,这样通过mk编译出的apk将打包到img,img烧写后开机自动安装在/system/priv-app。
二、push外部开发的应用到/system/priv-app
1、可以按照Android studio编译出未签名的apk
2、导出系统中签名,并将apk签名
3、adb root; adb remount; adb push new.apk /system/priv-app
4、reboot后会自动安装
/system/app和/system/priv-app区别
在system/priv-app目录主要是存放手机厂商定制的系统的系统级应用,比如phone app,settings app,systemui app等,这些应用需要系统及权限,而又不能被用户卸载掉。这个目录是在Android KitKat新增加的分区。在KitKat之前版本在系统分区的所有apks都可以使用系统权限,这个更改使手机厂商能够更好的控制捆绑软件对敏感权限的访问。手机厂商在定制一些系统软件的时候软件也会需要专门给priv-app添加selinux policy。当然应用需要获取系统权限还有其他的办法,在AndroidManifest.xml文件中添加 android:sharedUserI