新的黑莓app世界错误“bar manifest文件包版本必须大于......”

时间:2013-09-05 21:44:12

标签: android eclipse blackberry-eclipse-plugin blackberry-android

尝试将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来自哪里? 我可以覆盖它吗?

由于 罗布

3 个答案:

答案 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)

谢谢你,特德!

此主题还有另一个链接; http://supportforums.blackberry.com/t5/BlackBerry-World-Development/The-package-version-in-your-bar-manifest-file-for-New-Bundle/td-p/2754567

我们在搬到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。问题得到解决对我来说。