【第21期】观点:人工智能到底用 GPU?还是用 FPGA?

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

转载 2016年08月30日 15:19:02

如果更新或者升级后系统内置应用,遇到重启Android系统后内置应用被还原,那是因为手动安
装的APK版本号和系统内置API版本号一样。
1、Android系统应用更新机制
系统为每个应用在AndroidMainfest.xml提供了versionName、versionCode两个属性。
versionName:String类型,用来给应用的使用者来查看版本.
versionCode:Integer类型,作为系统判断应用是否能升级的依据。
2、Android系统内置应用更新判断代码
代码来自frameworks/base/services/java/com/android/server/PackageManagerService.java 中
scanPackageLI函数的package更新判断条件

// 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) {
// The system package has been updated and the code path does not match
// Ignore entry. Skip it.

从上面代码注释可以知道:更新系统内置应用时,如果新的versionCode没有大于当前安装的
版本,更新将被忽略。
3、开发者误区
对Android应用更新机制不熟悉的开发者,错误地把versionName作为应用更新的依据,以致
于在更新程序出现一些问题:
1、更新程序设计时必须把versionName设置小数形式,如2.1,当设置为2.2.1时程序就不好判
断是否该更新版本。
2、可能导致系统内置应用无法升级,不断被还原。

举报

相关文章推荐

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

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

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

  如果更新或者升级后系统内置应用,遇到重启Android系统后内置应用被还原,那是因为手动安装的APK版本号和系统内置API版本号一样。 &lt;strong&gt;1、Android系统应用更新机制&lt;/strong&gt; 系统为每个应用在AndroidMainfest.xml提供了versionName、versionCode两个属性。 versionName:String类型,用来给应用的使用者来查

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

如果升级Android内置apk版本,遇到系统重启后又被还原,那是因为你手动安装的apk版本号和内置系统的apk版本号一样。 这样的情况,在开发调试系统apk的情况中容易出现。 关于And...

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

如果更新或者升级后系统内置应用,遇到重启Android系统后内置应用被还原,那是因为手动安装的APK版本号和系统内置API版本号一样。 1、Android系统应用更新机制 系统为每个应用在AndroidMainfest.xml提供了versionName、versionCode两个属性。 versionName:String类型,用来给应用的使用者来查看版本. versionCode:Integer类型,作为系统判断应用是否能升级的依据。 2、Android系统内置应用更新判断

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

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

在Ubuntu上为Android系统内置Java应用程序测试Application Frameworks层的硬件服务

我们在Android系统增加硬件服务的目的是为了让应用层的APP能够通过Java接口来访问硬件服务。那么, APP如何通过Java接口来访问Application Frameworks层提供的硬件服务呢?在这一篇文章中,我们将在Android系统的应用层增加一个内置的应用程序,这个内置的应用程序通过ServiceManager接口获取指定的服务,然后通过这个服务来获得硬件服务。 <p style="col
  • ydbc
  • ydbc
  • 2013-03-25 12:51
  • 55

获得Android系统所有已安装的应用并联网自动检测升级更新

一、  说明: 本示例是在上一个示例(Android应用自身升级)的基础上完成的。环境配置也同上一个demo一样。只是增加了一些功能用来检测Android系统中所有需要升级的应用程序,并从服务器上下...

在Ubuntu上为Android系统内置Java应用程序测试Application Frameworks层的硬件服务

我们在Android系统增加硬件服务的目的是为了让应用层的APP能够通过Java接口来访问硬件服务。那么, APP如何通过Java接口来访问Application Frameworks层提供的硬件服务呢?在这一篇文章中,我们将在Android系统的应用层增加一个内置的应用程序,这个内置的应用程序通过ServiceManager接口获取指定的服务,然后通过这个服务来获得硬件服务。 一. 参照在Ubu

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

 做项目的时候发现应用放在system目录下,更新客户端后重启会还原到原客户端,查了原因后发现判断条件用了versionName,换成versionCode就OK了~ 以下为转载,原文地址:h...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)