Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Native Development

Reply
New Contributor
Posts: 7
Registered: ‎07-27-2011
My Device: Playbook
Accepted Solution

Native SDK 2.0 app backward compatibility?

Hi, i recently compiled my app with Native SDK 2.0 beta 2, and its working now using Beta firmware OS 2.0, but when i try to run it on pre 2.0 firmware like 1.0.8.1971 its giving me the following error:

 

result::failure 533 Application-Requires-System: version forbidden, want (2, 0, 0, 0) have (1, 0, 8, 1971)

 

I found the tag <platformVersion> on xml and tried to change it to 1.0.0.0 and it can be installed but it crashes immediately after trying to open it.

 

Anyone know how this works?, or if there is any official information about this that  i'm missing?

Developer
Posts: 1,805
Registered: ‎04-28-2009
My Device: Z10 (STL100-4)-10.2.1.3253, Z10 (STL100-3)-10.3.1.997 Dev OS, Z30 (STA100-5)-10.3.1.997 Dev OS, Passport (SQW100-1)-10.3.0.1418, PlayBook (16GB)-2.1.0.1917

Re: Native SDK 2.0 app backward compatibility?

It is not recommended. Something like Java or Air, sure, but being that native code is, well, native. It's best not to as something that might have been modified within the OS so native code ran better and the compiler updated for it. Well if you go back it could screw things up.

 

If you want to use your code on 1.0 and 2.0, you should probably compile it in 1.0. Native code usually does better going "forwards" instead of "backwards".

---Spends time in #blackberrydev on freenode (IRC)----
Three simple rules:
1. Please use the search bar before making new posts.
2. "Like" posts that you find helpful.
3. If a solution has been found for your post, mark it as solved.
--I code too much. Well, too bad.
BlackBerry Development Advisor
Posts: 417
Registered: ‎10-27-2010
My Device: PlayBook

Re: Native SDK 2.0 app backward compatibility?

In general if you using sdk for platform X you cannot run it on platform version Y (if Y less than X). But you can

expect visa versa. If you want your app to work on 1.0 you have to use SDK 1.0 (or at least platform piece of it).

This specific error is caused by os dependency guard, but if you remove that manually your app would probably fail immediatly because of API mismatch. In case of 1.0 vs 2.0 it is better to actually create two app packages - one for 1.0 and one for 2.0 (2.0 has a lot more APIs and you don't have to package captive libraries, so package would be much smaller). Also 2.0 app version should be higher than 1.0 version of the same app, so when user upgrades os they can pick up new version right away.

New Contributor
Posts: 7
Registered: ‎07-27-2011
My Device: Playbook

Re: Native SDK 2.0 app backward compatibility?

[ Edited ]

Oh ok, my only concern was that if the user has lets say version 1.0.0 of the app compiled with SDK 1.x.x, and then i update the application on App World with version 1.0.1 of app compiled with SDK 2.x.x then the users of OS 1.x.x will see an update of my app ? even if it will not work on their OS? or the update will not be visible unless they have OS 2.x.x ?

 

In this case, the update is only to fix problems with the app running on OS 2.x.x, not to add new features.

Developer
Posts: 1,805
Registered: ‎04-28-2009
My Device: Z10 (STL100-4)-10.2.1.3253, Z10 (STL100-3)-10.3.1.997 Dev OS, Z30 (STA100-5)-10.3.1.997 Dev OS, Passport (SQW100-1)-10.3.0.1418, PlayBook (16GB)-2.1.0.1917

Re: Native SDK 2.0 app backward compatibility?

I don't believe so. You should only see updates and apps that are supported on your device.
---Spends time in #blackberrydev on freenode (IRC)----
Three simple rules:
1. Please use the search bar before making new posts.
2. "Like" posts that you find helpful.
3. If a solution has been found for your post, mark it as solved.
--I code too much. Well, too bad.
BlackBerry Development Advisor
Posts: 417
Registered: ‎10-27-2010
My Device: PlayBook

Re: Native SDK 2.0 app backward compatibility?

When you submit app to AppWorld you should have a choice to define min version of OS, that would restrict what versions of your app people would see