尝试将Playbook应用更新上传到BlackBerry world时,我开始收到一条奇怪的错误消息。我认为这个问题是在安装了他们的eclipse插件的1.6.1之后开始的。
错误消息:
“signals_playbook的.bar清单文件中的软件包版本必须大于以前的版本,但低于添加到供应商门户网站的下一个版本。”.bar清单文件包版本必须大于3.0 。纠正你的.bar清单文件,然后再试一次。“
我的AndroidManifest.xml包含:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="ca.rcp.mobile.cror.signals"
android:versionCode="7"
android:versionName="3.1" >
BAR中包含的清单文件显示了以下信息:
Archive-Manifest-Version: 1.1
Archive-Created-By: Apk2Bar version 1.6.1
Package-Author: xxxxxxxx
Package-Author-Id: some hash xxxxxxxxx
Package-Name: xxxxx.cror.signals
Package-Id: some hash xxxxxxxxx
Package-Version: 1.0.7.1
Package-Version-Id: some hash xxxxxxxx
Package-Type: application
Package-Architecture: armle-v7
Package-Author-Certificate-Hash: some hash xxxxx
Application-Name: Railway Signals
Application-Id: some hash xxxxxxxx
Application-Version: 1.0.7.1
Application-Version-Id: some hash xxxxxxxxxxx
Application-Requires-System: Tablet OS/2.0.0.7109
我的系统:
使用Eclipse 3.7.2的Windows 7 x64以及最新的ADT和更新。
我可以看到黑莓世界为什么抱怨,它认为版本号是1.0.7.1。如何让它显示3.1.0.0 ??
我尝试编辑栏中包含的清单文件,保存并重新提交。但这不起作用(不认为它会但值得一试)。
有谁知道1.0.7.1来自哪里? 我可以覆盖它吗?
由于 罗布
答案 0 :(得分:4)
我们突然开始遇到与构建相同的问题。显然,BlackBerry构建工具发生了一些变化。尝试将应用程序的android:versionName
属性设置为4部分值(例如3.1.0.1
)。 BlackBerry一直使用此格式(major.minor.micro.build)用于本机应用程序。似乎除非您的Android清单具有相同的格式,否则BlackBerry构建工具无法解析versionName属性并使用后备。据我所知,后退是使用android:versionCode
的值作为默认应用程序版本代码中的微型版本;就是它将.bar文件清单中的应用版本设置为
1.0.<android:versionCode value>.1
(我肯定不想成为必须捍卫实施此行为的工程师。)
另一种方法是创建具有所需应用版本的自定义清单文件。在与MANIFEST.MF
相同的目录中创建名为AndroidManifest.xml
的文件。然后添加所需的特定.bar清单条目。例如,它可能是:
Archive-Manifest-Version: 1.1
Package-Version: 3.1.0.0
Application-Version: 3.1.0.0
然后在Eclipse中打开项目属性,导航到BlackBerry,并在“Custom BAR Manifest”下拉列表中选择“添加自定义值(合并)”。
答案 1 :(得分:0)
谢谢你,特德!
我们在搬到Gradle后开始注意到问题:
<强>之前强>
的AndroidManifest.xml:
android:versionCode="1312310309" android:versionName="2.28.4"
MANIFEST.MF:
Application-Version: 14.1231.309.0
<强>后强>
的AndroidManifest.xml:
android:versionCode="134" android:versionName="2.30.31402271059"
MANIFEST.MF
Application-Version: 1.0.134.0
答案 2 :(得分:0)
我也遇到了同样的问题,但我通过在我的Android Manifest文件中添加此行来修复它:android:versionCode =“30”之前我有android:versionCode =“29”因此将其升级为1。问题得到解决对我来说。