我们已经安装了Android应用程序1.0,并将其制作在专用ROM的/ system/app中。如何升级/系统/应用程序中的应用程序?
现在我们已经发布该应用的升级版本1.1,安装后,版本在Android设置的应用列表中更改为1.1。但是当我重新启动系统时,错过了更新后的版本,返回1.0。
如何解决此问题?有关它的任何详细介绍?
谢谢。
我们已经安装了Android应用程序1.0,并将其制作在专用ROM的/ system/app中。如何升级/系统/应用程序中的应用程序?
现在我们已经发布该应用的升级版本1.1,安装后,版本在Android设置的应用列表中更改为1.1。但是当我重新启动系统时,错过了更新后的版本,返回1.0。
如何解决此问题?有关它的任何详细介绍?
谢谢。
也许你有你的应用程序安装到/ data/app中不是/ system/app中
尝试将此应用移动到/ system/app中
,因为应用程序是在系统/应用程序,所以,你应该使用推送命令
adb root
adb remount
adb shell rm /system/app/your.apk
adb push your.apk /system/app
更新它。
也许你需要先删除它。
通常,如果您将应用程序推送到系统/应用程序,然后将其安装到数据/应用程序中,则应用程序系统/应用程序仅在重新启动设备后才起作用。 如果您可以在重新启动设备后检查数据/应用程序中是否有应用程序。
adb shell ls /data/app
,如果你找到它,你可以删除它,以确保您不具有相同的应用程序:
adb shell rm /data/app/your-1.apk
您可以使用此:
亚行外壳
苏
安装-o remount,rw/system
cat ApplicationName.apk> /system/app/ApplicationName.apk
chmod 644 ApplicationName.apk
重新启动
据我所知pm安装只更新用户应用程序。 如果您正在从Eclipse或从其他IDE部署应用程序(就我所知,与下载安装相同),该应用程序将位于data/app下。
的应用程序现在的位置是/data/app/com.package.name-1.apk
的部署,你可以做
亚行外壳
苏
安装邻重新装载,RW /系统后
猫/data/app/com.package.name-1.apk> /system/app/ApplicationName.apk
搭配chmod 644 /system/app/ApplicationName.apk
重新启动,以使更改生效
Cat通常与复制或cp相同,但是当您从/ data/app /原始com.package.name-1中捕获时。APK消失(我猜机器人自动处理这个不知何故)
您可以通过执行LS -al当在/数据/应用程序/文件夹
增加versionCode
更新您的应用程序之前进行测试。
实际上,最新版本的应用安装在/ data/app中,当设备重新启动时,设备将检查旧应用(v1.0)是否应该更新。然而,根据scanPackageLI()的框架/基/服务/ JAVA/COM /安卓/服务器/ 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。 PS:用新的命令行替换旧的应用程序可以满足你的需求,但我真的不认为它是好的。
+1我不知道为什么这个答案是downvoted,但它是带领提问者走向正确的方向。如果安装在/ system/app中的应用程序已更新,则它将具有ApplicationInfo.FLAG_UPDATED_SYSTEM_APP,但是如果您有两个apks,一个在/ system/app中,另一个在/ data/app中,并且它们具有相同的版本代码,或者in/data/app版本号较低,Android会自动删除/ data/app中的apk – Ben 2016-06-05 22:04:04
如何移动它?我用adb install来安装它 – brucenan 2013-04-26 08:37:23