Версия пакета файла манифеста новой панели ошибок приложения Blackberry должна быть больше, чем

Я начал получать странное сообщение об ошибке при попытке загрузить обновление приложения playbook в мир BlackBerry. Я думаю, что эта проблема началась после установки версии 1.6.1 их плагина eclipse.

Сообщение об ошибке:

«Версия пакета в вашем файле манифеста .bar для signal_playbook должна быть больше, чем предыдущая версия, но ниже, чем любая следующая версия выпуска, добавленная на портал поставщика. Версия вашего пакета файла манифеста .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

Моя система:

Windows 7 x64 с использованием Eclipse 3.7.2 с последними ADT и обновлениями.

Я понимаю, почему мир BlackBerry жалуется, он думает, что номер версии 1.0.7.1. Как заставить его показывать 3.1.0.0??

Я попытался отредактировать файл манифеста, содержащийся на панели, сохранить его и повторно отправить. Но это не сработало (не думал, что сработает, но стоило попробовать).

Кто-нибудь знает, откуда берется 1.0.7.1? Могу ли я переопределить это?

Спасибо, Роб.


person Rob 'user1478730'    schedule 05.09.2013    source источник


Ответы (3)


У нас внезапно возникла та же проблема с нашими сборками. Очевидно, что-то изменилось в инструментах сборки 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 и в раскрывающемся списке «Пользовательский манифест BAR» выберите «Добавить пользовательские значения (объединить)».

person Ted Hopp    schedule 30.01.2014

Спасибо, Тед!

Есть еще одна ссылка на эту тему; 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"

МАНИФЕСТ.MF:

Application-Version: 14.1231.309.0

После

AndroidManifest.xml:

android:versionCode="134" android:versionName="2.30.31402271059"

МАНИФЕСТ.МФ

Application-Version: 1.0.134.0
person yakimant    schedule 12.03.2014

У меня также была такая же проблема, но я исправил ее, добавив эту строку в свой файл манифеста Android android:versionCode="30", ранее у меня был android:versionCode="29", поэтому я обновил его на единицу. И проблема была исправлена ​​для меня.

person varunkumar    schedule 18.09.2014