当前位置: 代码迷 >> Android >> Android系统内置施用更新或升级后被还原的原因
  详细解决方案

Android系统内置施用更新或升级后被还原的原因

热度:62   发布时间:2016-05-01 20:24:24.0
Android系统内置应用更新或升级后被还原的原因

?

如果更新或者升级后系统内置应用,遇到重启Android系统后内置应用被还原,那是因为手动安装的APK版本号和系统内置API版本号一样。

<strong>1、Android系统应用更新机制</strong>
系统为每个应用在AndroidMainfest.xml提供了versionName、versionCode两个属性。
versionName:String类型,用来给应用的使用者来查看版本.
versionCode:Integer类型,作为系统判断应用是否能升级的依据。

<strong>2、Android系统内置应用更新判断代码</strong>
代码来自frameworks/base/services/java/com/android/server/PackageManagerService.java 中 scanPackageLI函数的package更新判断条件(约第2580-2621行附近)
// First check if this is a system package that may involve an update
if (updatedPkg != null && (parseFlags&PackageParser.PARSE_IS_SYSTEM) != 0) {
? ? if (!ps.codePath.equals(scanFile)) {
? ? ? // The path has changed from what was last scanned... ?check the
? ? ? // version of the new path against what we have stored to determine
? ? ? // what to do.
? ? ? if (pkg.mVersionCode < ps.versionCode) {


原文地址:Android系统内置应用更新或升级后被还原的原因?|?http://orgcent.com/android-system-app-update-restore/
  相关解决方案