对于android应用,分为以下两种级别的应用:
1. 一种是我们升级系统或者刷机的时候,就会存在的应用,这种应用是系统应用,随adroid系统一起发布,没有root权限是无法卸载的,其apk位于/system/app下,调用的lib位于/system/lib下,调用的jar包位于/system/framework,没有root权限无法操作/system目录。
2.还有一种就是纯粹的应用,直接手动安装,这种应用一般是放在/data/app下,相应的资源文件和库放在/data/data下面,这种app一般可以手动卸载,不需要root权限。
对于第1种,一般app放在源码packages/apps下面,随源码一起编译,具有system权限,第2种,依赖通用的sdk单独编译,只有应用级的权限。现在有这样的情况,对于应用A,是一个系统级的应用,随系统一起发布,但需要升级,恢复出厂设置又恢复到原始版本,这种情况下通过安装apk是可以覆盖原来的版本的,但一定要保证android:versionCode把原来的版本的号码要大,否则重启以后就又恢复到上一版本,因此每次升级应用,都要递增android:versionCode。