terça-feira, outubro 18, 2011

Como solucionar o erro module attempts to access a secure API no Blackberry

Há um bug da Blackberry que faz com que aplicativos gerados com o JDE 4.5 ao JDE 4.7 não tenham as assinaturas para todas as  APIs usadas.

Isso causa um erro em tempo de instalação (quando o aplicativo é composto de apenas um COD) e pode gerar um erro em tempo de execução quando o aplicativo é composto por mais de um COD e o COD "auxiliar" e não o principal é quem requer a assinatura de alguma API.

A mensagem é algo do tipo

Error starting myApp: Module 'myApp' attempts to access a secure API.

Uma maneira fácil de resolver isso é criar arquivos .csl específicos para o teu projeto, instruindo a ferramenta de assinaturas do Blackberry a assinar as APIs.

Para cada arquivo COD deverá haver um arquivo .csl.

Por exemplo, se teu aplicativo tem os arquivos

myapp.cod e myapp-1.cod tu deverás criar 2 arquivos:
myapp.csl e myapp-1.csl

Note que estes arquivos devem ficar na mesma pasta onde estão os arquivos COD.

Tu podes incluir a solicitação de assinatura mesmo para APIs que não são usadas. Isso não causa nenhum problema. Desse modo, eu crio um arquivo que solicita a assinatura das 3 APIs que normalmente serão usadas.

O conteúdo dos arquivos .cls segue abaixo:

52424200=RIM Blackberry Apps API
52435200=RIM Crypto API - RIM
52525400=RIM Runtime API

Para saber mais tu podes ler este artigo.

Talvez estes artigos te interessem:

Nenhum comentário: