在尝试将 playbook 应用程序更新上传到 BlackBerry world 时,我开始收到奇怪的错误消息。我认为这个问题是在安装他们的 eclipse 插件 1.6.1 版后开始的。
错误信息:
“signals_playbook 的 .bar list 文件中的包版本必须大于以前的版本,但低于添加到供应商门户的任何下一个发布版本。.您的 .bar list 文件包版本必须大于 3.0 . 更正您的 .bar list 文件并再次尝试继续。”
我的 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 中包含的 list 文件显示以下信息:
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
我的系统:
Windows 7 x64,使用 Eclipse 3.7.2 以及最新的 ADT 和更新。
我明白为什么黑莓世界在提示,它认为版本号是 1.0.7.1。如何让它显示 3.1.0.0??
我尝试编辑栏中包含的 list 文件,保存并重新提交。但这没有用(我认为它不会,但值得一试)。
有谁知道 1.0.7.1 是从哪里来的? 我可以覆盖它吗?
谢谢 罗布
最佳答案
我们的构建突然开始遇到同样的问题。显然,BlackBerry 构建工具发生了一些变化。尝试将应用程序的 android:versionName
属性设置为由 4 部分组成的值(例如 3.1.0.1
)。 BlackBerry 一直将这种格式 (major.minor.micro.build) 用于 native 应用程序。似乎除非您的 Android list 具有相同的格式,否则 BlackBerry 构建工具无法解析 versionName 属性并使用回退。据我所知,回退是使用 android:versionCode
的值作为默认应用程序版本代码中的微版本;那就是它将 .bar 文件 list 中的应用程序版本设置为
1.0.<android:versionCode value>.1
(我当然不想成为必须捍卫实现此行为的工程师。)
另一种方法是创建一个包含所需应用版本的自定义 list 文件。在与 AndroidManifest.xml
相同的目录中创建一个名为 MANIFEST.MF
的文件。然后添加所需的特定 .bar list 条目。例如,它可能是:
Archive-Manifest-Version: 1.1
Package-Version: 3.1.0.0
Application-Version: 3.1.0.0
然后在 Eclipse 中打开项目属性,导航到 BlackBerry,并为“Custom BAR Manifest”下拉菜单选择“Add custom values (merge)”。
关于android - 新的黑莓应用程序世界错误 "bar manifest file package version must be greater than ...",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18646464/