【发布时间】:2013-06-28 22:39:38
【问题描述】:
我正在构建一个发布模式的 Android 应用。我第一次在设备上安装它时,它工作正常。但是,如果我从相同的源重建它,用相同的密钥对其进行签名,然后重新安装,它就会失败。我在日志中收到以下错误:
W/InstallAppProgress(30456): Replacing package:com.mycompany.myapp
W/ActivityManager(26370): No content provider found for permission revoke: file:///storage/emulated/0/Download/MyApp-17.apk
W/PackageManager(26370): Can't install update of com.mycompany.myapp update version 0 is older than installed version 3
应用程序的版本代码设置为 3,我两次都构建它。它从哪里得到更新是“版本 0”的想法?
更新:我的清单文件中有这个:android:versionCode="@integer/app_version_code"。我在res/values/strings.xml 中定义了<integer name="app_version_code">3</integer>。
我很确定这曾经可以工作,但现在似乎不行了。如果我用硬编码的“3”替换@integer 引用,它就可以工作。不应该@integer be supported吗?
【问题讨论】:
-
你能发布你的清单吗?
-
你确定 Manifest 声明了正确的 versionCode?span>
-
在检查清单后更新了帖子。
标签: android