Automatizando o processo de construção de um projeto J2ME – Parte 01

por Paulo Silveira

Desenvolver para J2ME pode ser um tanto trabalhoso através do uso do Wireless Toolkit: compilar, gerar jar, criar o jad, preverificar, obfuscar, rodar o emulador, etc. Visando facilitar essas tarefas do dia-a-dia, o Antenna traz um conjunto de tasks para o Apache Ant.

O Antenna pode ser usado com qualquer IDE que tenha suporte ao Ant. Neste artigo vamos exemplificar seu uso com o Eclipse, embora pudesse ser facilmente adaptado ao Netbeans, Jbuilder e outros.

Apesar deste artigo estar voltado a quem já tem algum conhecimento de J2ME, ele pode facilmente servir de guia a um iniciante, desde que você conheça um pouco de Ant.

Montando o ambiente

Você vai precisar do Eclipse 3.0.x, do Sun Wireless Toolkit 2.1 e do Antenna 0.9.x. Veja o quadro de links para os respectivos sites. Descompacte o Antenna em algum diretório de sua preferência. Opcionalmente você também pode baixar o ProGuard, um obfuscador gratuito.

Atualmente o Antenna tem problemas com o SDK do Java 5.0 (ver Nota 1), utilize uma jdk anterior.


Nota 1 - Java 5.0

O Antenna 0.9.13 não funciona corretamente com o java5, pois o WtkBuild chama o javac (através do tools.jar) com a opção –target 1.1 (formato de classe das Virtual Machines CLDC), mas sem passar nenhum –source, pois o default era 1.3 até o jdk 1.4. Atualmente, no java5.0, o source default é 1.5, e um código fonte 1.5 só pode ter target 1.5, com isso o WtkCompile falha.

Preparando o Eclipse

Com o Eclipse aberto, vamos criar um novo projeto, o hello-webmobile, através do New/Project/Java Project (figura 1).

web-17-06-2008pic01.JPG
Figura 1.

Não finalize, vá ao próximo passo (clique no botão next) e clique na aba libraries (figura 2). La estará listada apenas a biblioteca “padrão”, isto é, o rt.jar da virtual machine que você deixou como default no Eclipse. Não iremos utilizar essa biblioteca, pois queremos que as classes mais básicas sejam as definidas no CLDC e no MIDP. Remova essa biblioteca e clique em add library e depois em user library/user libraries.

Neste ponto você vai ter de definir uma nova biblioteca. Dê um nome a ela (J2ME por exemplo) e adicione todos os jars do WTK (Wireless Toolkit) que você julgar necessário (CLDC 1.0 e MIDP1.0, por exemplo, ou MIDP 2.0 se for o seu caso). Sua biblioteca deve ficar parecida com a da figura 3.

web-17-06-2008pic02.JPG
Figura 2.

web-17-06-2008pic03.JPG
Figura 3.

Antes de finalizar a criação do projeto, volte para a tela da figura 2 e na aba source crie uma pasta para o código fonte (diretório src) separado das classes (diretório bin) para evitar que os .java fiquem misturados com os .class.

Precisamos agora configurar o Ant para que ele encontre as tasks do Antenna. Para isso, vá ao menu Workspace/Preferences no Eclipse, e dentro da seção Ant/Runtime você deve adicionar o jar do Antenna no classpath (figura 4). Opcionalmente você também pode colocar o ProGuard no classpath.

Caso não esteja usando o Eclipse, você pode facilmente adaptar esses passos para a sua IDE preferida.

web-17-06-2008pic04.JPG
Figura 4.