Android系统应用
System APP vs. (Non-system) Ordinary APP
在Android系统中,应用可以分为系统应用(安装在/system/app分区上的)和非系统应用(安装在/data/app分区上的)。由于没有root权限的话/system分区是只读的,因此普通用户无法卸载系统应用。
注意系统应用和是否用ROM platform key签名没有关系,一个用platform key签名的应用也可以安装在普通/data/app分区上。用platform key签名的APP可以访问某些signatureOrSystem权限的操作。比如,静默安装和卸载其他非系统应用(background installation or uninstallation)的权限。
系统应用拥有某些system-only的权限,这些权限普通应用是无法访问的。注意,这里所说的权限和root/sudo/su权限是不同的。比如,Android 2.3之前允许普通应用重置系统中错过的电话计数(missed call),而这一权限从Android 2.3开始,是一个只有system-only的权限。如果一个重置上面的计数的应用被放置在/system分区,那么该应用不需要root权限就能使用重置功能。类似的系统权限还比如禁止(Disable)设置gps mock location.
系统应用可以像普通应用一样升级,但是升级后的APP不会放到原有的ROM中,相比普通应用,系统应用有一个特殊能力就是能重置到ROM第一次安装时的版本。
系统应用不能像普通应用一样移动到外部的SD卡上,如果卸载了系统应用的升级版本,那么升级版本占用的内部空间会释放。