Android重启后覆盖应用程序

时间:2014-09-18 09:53:20

标签: java android apk

我正在为android开发一个系统应用程序。我在应用程序更新期间发现了一个问题。我安装了V1.0,但是在安装新版本(V1.1)时它会更换旧版本而没有错误,但是如果手机重启或关机,应用程序又回到1.0 您有什么建议来解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

更新应用时增加versionCode

事实上,您的应用的最新版本已安装到/data/app,当设备重启时,设备将检查旧应用(v1.0)是否应该更新。但是,根据scanPackageLI()

中的frameworks/base/services/java/com/android/server/PackageManagerService.java
if (ps != null && !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) {
        // The system package has been updated and the code path does not match
        // Ignore entry. Skip it.
        ......
    } else {
        ......
    }
    ......
}

您可以找到versionCode是否相同,旧应用不会更新。因此,当您想要更新旧应用时,需要在应用中增加versionCode