12-05-2012 05:27 PM
I've ported my PlayBook WebWorks application to BlackBerry 10, the problem is that when I submit the bundle to the App World (the product already had the previous PlayBook version) I get this error:
File bundle (CherryNotes.bar) has been rejected. Package ID is required for all .bar file. If this is an upgrade, Package ID must match Package ID in original file bundle.
I've unpacked the BARs and checked their MANIFEST.MF and the Package-ID is different, but I think this is because I've used the PlayBook SDK to compile the old version and used the BlackBerry 10 SDK for the newer one. Is there anyway to correct this and make it work in the App World without having to create a new product?
Solved! Go to Solution.
12-05-2012 05:35 PM
As far as I know, you need to keep the Package ID the same across the entire app, including the different file bundles. You can manually modify the Manifest to do this, I don't think it affects signing or anything. Only thing is to make sure that you keep your signing keys the same across all packages and never lose them.
12-05-2012 05:46 PM
12-05-2012 06:02 PM
The problem is that I used the same signing keys, since both versions were being developed simultaneously, for the PlayBook and the BB10 versions and I'm still getting through same error.
Sent from my PlayBook
12-05-2012 08:49 PM - edited 12-05-2012 08:51 PM
Taking a closer look at the -listManifest output I saw something very interesting... Why are all these "test" strings in my IDs?
Package-Type: application Package-Author: Nathan Campos Package-Author-Id: testTmF0aGFuIENhbXBvcyAgICA Package-Name: CherryNotes Package-Id: testRel_CherryNotes5876a888 Package-Version: 220.127.116.11 Package-Version-Id: testMS4xLjEuMSAgICAgICAgICA Package-Architecture: armle-v7 Application-Name: CherryNotes Application-Id: testRel_CherryNotes5876a888 Application-Description: The awesome text editor. Application-Version: 18.104.22.168 Application-Version-Id: testMS4xLjEuMSAgICAgICAgICA Application-Requires-System: Tablet OS/10.0.4.0 Application-Development-Mode: false
Which are not present in the PlayBook version:
Package-Type: application Package-Author: Sample Inc. Package-Author-Id: testU2FtcGxlIEluYy4gICAgICA Package-Name: CherryNotes373b85774e102a5050c82f5df0f45561 Package-Id: testDev_f5df0f455614b7088b8 Package-Version: 22.214.171.124 Package-Version-Id: testMS4wLjEuMjcgICAgICAgICA Package-Architecture: armle-v7 Application-Name: CherryNotes Application-Id: testDev_f5df0f455614b7088b8 Application-Description: The awesome text editor. Application-Version: 126.96.36.199 Application-Version-Id: testMS4wLjEuMjcgICAgICAgICA Application-Category: core.all Application-Requires-System: Tablet OS/188.8.131.52 Application-Development-Mode: true
Here's the config.xml beginning for both versions:
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:rim="http://www.blackberry.com/ns/widgets" version="1.1" id="CherryNotes"> <name>CherryNotes</name> <author>Nathan Campos</author> <description> The awesome text editor. </description>
12-06-2012 12:27 AM
These test IDs are automatically added if you sign and build your package with the debug option (and token).
For release, you should not build a debug version...
12-06-2012 07:37 AM
But I'm not using the -d argument when I call bbwp. I've tried several times inspecting the BARs before and after they are signed, they are always like that.
This is just getting more and more frustrating.
12-06-2012 11:20 AM
12-06-2012 11:52 AM
Thanks very very very much for your response, this was exactly my problem, since the old PlayBook SDK didn't used the ID in my config.xml (which is mostly shared between both apps) and created it's own using the App Name, when the new BlackBerry 10 SDK was using the ID in the config.xml, not generating one like the PlayBook does.
I think there should be a blog post about this in the Inside BlackBerry Developer Blog since it might be something other BlackBerry developers may run into when porting their WebWorks applications to BlackBerry 10. I'll email them about this to see if they can do it.