O que fazer quando um aparelho não possui a JSR necessária?

Desenvolvi um aplicativo que roda perfeitamente no nokia 2330 classic, o modelo da nokia mais simples que roda Java… Instalei o mesmo aplicativo num Nokia 6681, porém ao executar dá uma exceção e aborta. Notei que o 6681 não possui a JSR 177 (Security and Trust Services API for J2ME? (SATSA-CRYPTO package)… O 2330 tem. Acredito ser esse o problema.

Agora a pergunta: é possível, de alguma forma, “empacotar” essa JSR no JAR para que o aplicativo funcione no 6681 também, que teoricamente é um mobile superior? Quais são minhas alternativas?

Olha… eu também ja precisei fazer isso e o que escutei é que não é possível. Num curso de JME que fiz o professor atestou que não é possivel trocar o java do celular. Já tentei empacotar a biblioteca que precisava à minha aplicação e não consegui… :cry:
Se for possível empacotar a biblioteca junto, gostaria de saber também… :smiley:

[quote=gqferreira]Olha… eu também ja precisei fazer isso e o que escutei é que não é possível. Num curso de JME que fiz o professor atestou que não é possivel trocar o java do celular. Já tentei empacotar a biblioteca que precisava à minha aplicação e não consegui… :cry:
Se for possível empacotar a biblioteca junto, gostaria de saber também… :smiley: [/quote]

Trocar o java do celular não dá mesmo. Isso vem gravado de fábrica. Resta saber se é possível empacotar a JSR com o JAR. Alguém dá uma luz???

[quote=ddso]Desenvolvi um aplicativo que roda perfeitamente no nokia 2330 classic, o modelo da nokia mais simples que roda Java… Instalei o mesmo aplicativo num Nokia 6681, porém ao executar dá uma exceção e aborta. Notei que o 6681 não possui a JSR 177 (Security and Trust Services API for J2ME? (SATSA-CRYPTO package)… O 2330 tem. Acredito ser esse o problema.

Agora a pergunta: é possível, de alguma forma, “empacotar” essa JSR no JAR para que o aplicativo funcione no 6681 também, que teoricamente é um mobile superior? Quais são minhas alternativas?[/quote]

A questão é:

Sua aplicação faz uso da JSR 177 ? Pq se faz, só vai rodar em celular que a tenha. Ponto.
Se não faz, o problema de não rodar em outro celular é por outro motivo, nada a ver com a falta da JSR 177 neste outro celular.

Qualquer JSR está intimamente ligada ao que o hardware suporte e não é possível “instalar” via JAR ela. Faz parte do firmware do aparelho.

[quote=boone]A questão é:

Sua aplicação faz uso da JSR 177 ? Pq se faz, só vai rodar em celular que a tenha. Ponto.
Se não faz, o problema de não rodar em outro celular é por outro motivo, nada a ver com a falta da JSR 177 neste outro celular.

Qualquer JSR está intimamente ligada ao que o hardware suporte e não é possível “instalar” via JAR ela. Faz parte do firmware do aparelho.[/quote]

A mensagem de erro que aparece no 6681 ao iniciar a aplicação é No Class Def Found Error java/lang/NoClassDefFoundError java/security/NoSuchAlgorithmException. No 2330 funciona perfeitamente. Será que tem a ver com a JSR 177? Qual será a causa desse erro?

Trata o erro com public NoSuchAlgorithmException(String message,Throwable cause) que você recebe os detalhes dele. E posta pra gente.

[quote=ddso][quote=boone]A questão é:

Sua aplicação faz uso da JSR 177 ? Pq se faz, só vai rodar em celular que a tenha. Ponto.
Se não faz, o problema de não rodar em outro celular é por outro motivo, nada a ver com a falta da JSR 177 neste outro celular.

Qualquer JSR está intimamente ligada ao que o hardware suporte e não é possível “instalar” via JAR ela. Faz parte do firmware do aparelho.[/quote]

A mensagem de erro que aparece no 6681 ao iniciar a aplicação é No Class Def Found Error java/lang/NoClassDefFoundError java/security/NoSuchAlgorithmException. No 2330 funciona perfeitamente. Será que tem a ver com a JSR 177? Qual será a causa desse erro?[/quote]

Essa mensagem significa que o algoritmo de criptogafia que está tentando usar não existe no aparelho. Essa mensagem só aparece porque a JSR de segurança existe e está funcionando. O problema é que o algoritmo não existe. Vc precisa entender melhor como funcionam as api de criptografia em java. A solução é : use um algoritmo que esteja disponivel em ambos os aparelhos