一般apk分普通权限和系统权限
普通apk安装目录一般在data/app,也可以转移到sd卡,系统apk则在syste/app下。
如果apk拥有和framework一样的签名(源码下编译使用LOACL_CERTIFICATE:=platform或者拷贝build/target/product/security/下的platform.pk8和platform.x509.pem进行重新签名)
则 安装进去 就拥有system权限push进去,也有system权限
如果是普通apk,即没有framework签名,则安装进去没有system权限,push进去,拥有system权限
另外,不同手机的签名不一样,所以A手机源码下编译的apk,安装在A手机上有system权限,而安装在B手机上则没有System权限,push进去拥有System权限。
其他问题:
如果一个低版本的apk升级到高版本,这时使用低版本apk的action来启动它(高版本没有这个action),无法启动低版本的apk。
如果已有系统app,假设版本为1,(即versioncode=1),这时安装它的高版本apk可以正常升级,但是假如版本比它低或者相等,则安装后可以运行,但是手机重启后会被卸载掉,只剩下原来的系统应用。
另外关于4.0之后的广播监听,普通apk安装后,只要没有应用或者用户去主动启动它,那么它一辈子也起不来,什么广播都不会发给它。系统权限apk可以正常监听开机启动。
总结的很凌乱,有些东西可能一时忘了,后续可能的话尽量补上。