views:

258

answers:

3

Device: Curve 8520
OS: 4.6.1
JDE: 4.6.1
JDK: 1.6
Signed app? Yes.

Hello,
I'm trying to deploy a blackberry app (called 'ConstituenC') that works fine in the simulator. It uses restricted APIs, so I obtained a key from RIM and applied it via the Java Development Environment.

When I attempt to run on my phone (BB Curve, 8520. OS: 4.6.1), it shows an error saying "'ConstituentC' attempts to access a secure API."

The following is shown in the BB Event Log:

Java Exception: Error starting ConstituentC: Module 'ConstituentC' attempts to access a secure API. Error starting ConstituentC: Module 'ConstituentC' attempts to access a secure API. Linker error:
'VerifyError' for ConstituentC Module 'ConstituentC' attempts to access a secure API module 9621 cannot reference net.rim.blackberry.api.mail.Store
CMM: ConstituentC (9621) invalid sig for 0x424252 VM:LINK ConstituentC

Any ideas on how this could be resolved?

A: 

In order to deploy to a device running 4.6 you need to compile your app with a JDE 4.6 or lower. The newer JDE such as JDE 5.0 cannot "down compile" to lower OS versions.

This means that if you're like most developers and need to support multiple OS versions (4.3, 4.5, 4.6, 4.7, 5.0) then you'll need to make multiple builds, assuming you need to use newer APIs (such as the touch APIs in 4.7).

Marc Novakowski
Hey, I changed to JDE to use 4.6.1, and still no success.
Irwin
And you're positive that you're loading the signed COD onto the device? How are you loading it, using javaloader.exe?
Marc Novakowski
Loading using the app loader now (before I was using OTA)
Irwin
A: 

The COD should be signed using the RIM Code Signing. http://docs.blackberry.com/en/developers/deliverables/11938/Request_code_signatures_511409_11.jsp

Without signing, we cant install the blackberry application in Blackberry mobiles.

Selvakumar
A: 

OK, the problem was with my keys, I had to get a new set. Once that was done, the application loaded.

Irwin