i try to convert JAD to APK with this code:
==================================================================================
<!-- This is temporary build system -->
<!-- Migration to the maven is planned -->
<project name="microemu-android" default="package-apk">
<!-- IMPORTANT TO SET WITH VALID VALUES -->
<property name="midlet.jad" value="C:/Documents and Settings/
satriani/My Documents/workspace(MC)/FinnetMC/deployed/FinnetMC.jad" /
>
<property name="midlet.package" value="FinnetMC.apk" />
<property name="sdk-folder" value="C:/Program Files/Android/
android-sdk-windows" />
<property name="asm.jar" value="/Documents and Settings/
satriani/.m2/repository/asm/asm/3.2/asm-3.2.jar" />
<property name="microemu-cldc.jar" value="C:/Documents and
Settings/satriani/microemulator/microemu-cldc/target/microemu-
cldc.jar" />
<property name="microemu-midp.jar" value="C:/Documents and
Settings/satriani/microemulator/microemu-midp/target/microemu-
midp.jar" />
<property name="microemu-javase.jar" value="C:/Documents and
Settings/satriani/microemulator/microemu-javase/target/microemu-
javase-2.0.4.jar" />
<property name="microemu-jsr-75.jar" value="C:/Documents and
Settings/satriani/microemulator/microemu-extensions/microemu-jsr-75/
target/microemu-jsr-75.jar" />
<property name="outdir" value="bin" />
<!-- Output directories -->
<property name="outdir-assets" value="${outdir}/assets" />
<property name="outdir-classes" value="${outdir}/classes" />
<property name="outdir-producer" value="${outdir}/producer" />
<property name="outdir-res" value="${outdir}/res" />
<property name="outdir-libs" value="${outdir}/libs" />
<!-- Intermediate files -->
<property name="dex-file" value="classes.dex" />
<property name="intermediate-dex" value="${outdir}/${dex-file}" />
<!-- The final package file to generate -->
<property name="out-package" value="${outdir}/${midlet.package}" /
>
<!-- Tools -->
<property name="aapt" value="${sdk-folder}/platforms/android-4/
tools/aapt" />
<property name="adb" value="${sdk-folder}/tools/adb" />
<condition property="dx" value="${sdk-folder}/platforms/android-4/
tools/dx.bat" else="${sdk-folder}/platforms/android-4/tools/dx" >
<os family="windows"/>
</condition>
<condition property="apk-builder" value="${sdk-folder}/tools/
apkbuilder.bat" else="${sdk-folder}/tools/apkbuilder" >
<os family="windows"/>
</condition>
<property name="android-jar" value="${sdk-folder}/platforms/
android-4/android.jar" />
<taskdef resource="net/sf/antcontrib/antcontrib.properties">
<classpath>
<pathelement location="C:/Documents and Settings/satriani/My
Documents/Downloads/Compressed/ant-contrib-1.0b3-bin/ant-contrib/ant-
contrib-1.0b3.jar"/>
</classpath>
</taskdef>
<macrodef name="loadjad">
<attribute name="jad"/>
<attribute name="prefix" default=""/>
<sequential>
<loadproperties srcFile="@{jad}">
<filterchain>
<prefixlines prefix="@{prefix}"/>
</filterchain>
</loadproperties>
</sequential>
</macrodef>
<target name="clean">
<delete dir="${outdir}" />
</target>
<target name="check">
<available file="${microemu-cldc.jar}" property="microemu-
cldc.jar.present"/>
<fail unless="microemu-cldc.jar.present" message="microemu-
cldc.jar doesn't exist at ${microemu-cldc.jar}"/>
<available file="${microemu-midp.jar}" property="microemu-
midp.jar.present"/>
<fail unless="microemu-midp.jar.present" message="microemu-
midp.jar doesn't exist at ${microemu-midp.jar}"/>
<available file="${microemu-javase.jar}" property="microemu-
javase.jar.present"/>
<fail unless="microemu-javase.jar.present" message="microemu-
javase.jar doesn't exist at ${microemu-javase.jar}"/>
<available file="${microemu-jsr-75.jar}" property="microemu-
jsr-75.jar.present"/>
<fail unless="microemu-jsr-75.jar.present" message="microemu-
jsr-75.jar doesn't exist at ${microemu-jsr-75.jar}"/>
</target>
<target name="dirs">
<mkdir dir="${outdir}" />
<mkdir dir="${outdir-assets}" />
<mkdir dir="${outdir-classes}" />
<mkdir dir="${outdir-producer}" />
<mkdir dir="${outdir-res}" />
<mkdir dir="${outdir-libs}" />
</target>
<target name="compile-producer" depends="check,dirs">
<javac target="1.6.0_3" debug="true" extdirs=""
srcdir="src"
destdir="${outdir-producer}"
includes="org/microemu/android/asm/**">
<classpath>
<pathelement location="${microemu-javase.jar}"/>
<pathelement location="${asm.jar}"/>
<pathelement location="asm-tree-3.2.jar"/>
<pathelement location="asm-commons-3.2.jar"/>
</classpath>
</javac>
</target>
<target name="read-jad">
<loadjad jad="${midlet.jad}" prefix="jad."/>
<basename file="${midlet.jad}" property="midlet.jad.basename"/
>
<propertyregex property="jar.first.character"
input="${jad.MIDlet-Jar-URL}"
regexp="^\/"
select="\0" />
<if>
<equals arg1="${jar.first.character}" arg2="/" />
<then>
<property name="midlet.jar" value="${jad.MIDlet-Jar-URL}" />
</then>
<else>
<dirname property="midlet.jad.dir" file="${midlet.jad}"/>
<property name="midlet.jar" value="${midlet.jad.dir}/$
{jad.MIDlet-Jar-URL}" />
</else>
</if>
<propertyregex property="
midlet.name"
input="${jad.MIDlet-1}"
regexp="([^,]+),([^,]+),([^,]+)"
select="\1" />
<echo>
midlet.name = [${
midlet.name}]</echo>
<fail unless="
midlet.name" message="No midlet name defined in
jad."/><!--if MIDlet-1: ,[ICON],[CLASS] notice the NO [TITLE] -->
<propertyregex property="midlet.icon.totrim"
input="${jad.MIDlet-1}"
regexp="([^,]+),([^,]+),([^,]+)"
select="\2" />
<echo>midlet.icon.totrim = [${midlet.icon.totrim}]</echo>
<fail unless="midlet.icon.totrim" message="No icon defined in
jad."/><!--if MIDlet-1: [TITLE],,[CLASS] notice the NO space in the
[ICON] placeholder -->
<propertyregex property="midlet.icon"
input="${midlet.icon.totrim}"
regexp="^[ \t]+|[ \t]+$"
replace=""
defaultValue="${midlet.icon.totrim}" /><!-- if nothing to
trim-->
<echo>midlet.icon = [${midlet.icon}]</echo>
<condition property="NotHasIcon">
<equals arg1="${midlet.icon}" arg2=""/>
</condition>
<fail if="NotHasIcon" message="No valid icon set in jad."/> <!--
if MIDlet-1: [TITLE], ,[CLASS] notice the space in the [ICON]
placeholder -->
<propertyregex property="midlet.class.totrim"
input="${jad.MIDlet-1}"
regexp="([^,]+),([^,]+),([^,]+)"
select="\3" />
<echo>midlet.class.totrim = [${midlet.class.totrim}]</echo>
<propertyregex property="midlet.class"
input="${midlet.class.totrim}"
regexp="^[ \t]+|[ \t]+$"
replace=""
defaultValue="${midlet.class.totrim}" />
</target>
<target name="prepare-jars" depends="compile-producer,read-jad">
<java
classname="org.microemu.android.asm.AndroidProducer">
<arg value="${midlet.jar}"/>
<arg value="${outdir-libs}/midlet.jar"/>
<arg value="midlet"/>
<classpath>
<pathelement path="${outdir-producer}"/>
<pathelement location="${microemu-javase.jar}"/>
<pathelement location="${asm.jar}"/>
<pathelement location="asm-tree-3.1.jar"/>
<pathelement location="asm-commons-3.1.jar"/>
</classpath>
</java>
</target>
<target name="compile" depends="prepare-jars,package-res">
<javac target="1.6.0_03" debug="true" extdirs=""
srcdir="src"
destdir="${outdir-classes}"
bootclasspath="${android-jar}"
excludes="org/microemu/android/asm/**">
<classpath>
<pathelement location="${microemu-cldc.jar}" />
<pathelement location="${microemu-midp.jar}" />
<pathelement location="${microemu-javase.jar}"/>
</classpath>
</javac>
</target>
<target name="dex" depends="compile">
<basename property="intermediate-dex.base" file="$
{intermediate-dex}"/>
<dirname property="intermediate-dex.dir" file="${intermediate-
dex}"/>
<basename property="microemu-cldc.jar.base" file="${microemu-
cldc.jar}"/>
<dirname property="microemu-cldc.jar.dir" file="${microemu-
cldc.jar}"/>
<basename property="microemu-midp.jar.base" file="${microemu-
midp.jar}"/>
<dirname property="microemu-midp.jar.dir" file="${microemu-
midp.jar}"/>
<basename property="microemu-javase.jar.base" file="${microemu-
javase.jar}"/>
<dirname property="microemu-javase.jar.dir" file="${microemu-
javase.jar}"/>
<basename property="microemu-jsr-75.jar.base" file="${microemu-
jsr-75.jar}"/>
<dirname property="microemu-jsr-75.jar.dir" file="${microemu-
jsr-75.jar}"/>
<basename property="prepared.midlet.jar.base" file="${outdir-
libs}/midlet.jar"/>
<dirname property="prepared.midlet.jar.dir" file="${outdir-
libs}/midlet.jar"/>
<exec executable="${dx}" failonerror="true">
<arg value="--dex" />
<arg value="--output=${intermediate-dex.dir}/$
{intermediate-dex.base}" />
<arg value="--positions=lines" />
<arg value="${microemu-cldc.jar.dir}/${microemu-
cldc.jar.base}"/>
<arg value="${microemu-midp.jar.dir}/${microemu-
midp.jar.base}" />
<arg value="${microemu-javase.jar.dir}/${microemu-
javase.jar.base}"/>
<arg value="${microemu-jsr-75.jar.dir}/${microemu-
jsr-75.jar.base}"/>
<arg path="${outdir-classes}" />
<arg value="${prepared.midlet.jar.dir}/$
{prepared.midlet.jar.base}"/>
</exec>
</target>
<target name="prepare-assets" depends="read-jad">
<unzip src="${midlet.jar}"
dest="${outdir-assets}">
<patternset>
<exclude name="**/*.class"/>
<exclude name="**/META-INF"/>
<exclude name="**/MANIFEST.MF"/>
</patternset>
</unzip>
<copy file="${midlet.jad}" tofile="${outdir-assets}/$
{midlet.jad.basename}" />
</target>
<target name="prepare-res" depends="read-jad">
<mkdir dir="${outdir-res}/values" />
<echo file="${outdir-res}/values/strings.xml"><?xml
version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">${
midlet.name}</string>
<string name="class_name">${midlet.class}</string>
<string name="jad_name">${midlet.jad.basename}</
string>
</resources>
</echo>
<mkdir dir="${outdir-res}/drawable" />
<unjar src="${midlet.jar}" dest="${outdir}">
<patternset>
<include name="${midlet.icon}"/>
</patternset>
</unjar>
<copy file="${outdir}/${midlet.icon}" tofile="${outdir-res}/
drawable/app_icon.png" />
<echo file="${outdir}/AndroidManifest.xml"><?xml
version="1.0" encoding="utf-8"?>
<manifest xmlns:android="
http://schemas.android.com/apk/res/
android"
package="org.microemu.android.${midlet.class}">
<uses-permission android:name="android.permission.INTERNET" /
>
<uses-permission android:name="android.permission.VIBRATE" /
>
<application android:label="@string/app_name"
android:icon="@drawable/app_icon">
<activity
android:name="org.microemu.android.MicroEmulator"
android:configChanges="orientation|keyboardHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN" /
>
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
</echo>
</target>
<target name="package-res" depends="prepare-assets, prepare-res">
<exec executable="${aapt}" failonerror="true">
<arg value="package" />
<arg value="-f" />
<arg value="-m" />
<arg value="-J" />
<arg value="src" />
<arg value="-M" />
<arg value="${outdir}/AndroidManifest.xml" />
<arg value="-S" />
<arg value="${outdir-res}" />
<arg value="-A" />
<arg value="${outdir-assets}" />
<arg value="-I" />
<arg value="${android-jar}" />
<arg value="-F" />
<arg value="${out-package}.res" /> <!-- temp name -->
</exec>
</target>
<target name="package-apk" depends="clean, dex, package-res">
<basename property="out-package.base" file="${out-package}"/>
<dirname property="out-package.dir" file="${out-package}"/>
<basename property="intermediate-dex.base" file="$
{intermediate-dex}"/>
<dirname property="intermediate-dex.dir" file="${intermediate-
dex}"/>
<exec executable="${apk-builder}" failonerror="true">
<arg value="${out-package.dir}/${out-package.base}" />
<!-- <arg value="-u" /> -->
<arg value="-z" />
<arg value="${out-package.dir}/${out-package.base}.res" />
<!-- temp name -->
<arg value="-f" />
<arg value="${intermediate-dex.dir}/${intermediate-
dex.base}" />
</exec>
</target>
<!-- Install the package on the default emulator -->
<target name="install" depends="package-apk">
<echo>Installing ${out-debug-package} onto default
emulator...</echo>
<exec executable="${adb}" failonerror="true">
<arg value="install" />
<arg value="${out-package}" />
</exec>
</target>
<target name="reinstall" depends="package-apk">
<echo>Installing ${out-debug-package} onto default
emulator...</echo>
<exec executable="${adb}" failonerror="true">
<arg value="install" />
<arg value="-r" />
<arg value="${out-package}" />
</exec>
</target>
<!-- Uinstall the package from the default emulator -->
<target name="uninstall">
<echo>Uninstalling ${application-package} from the default
emulator...</echo>
<exec executable="${adb}" failonerror="true">
<arg value="uninstall" />
<arg value="${application-package}" />
</exec>
</target>
</project>
==================================================================================
but i got the errors like this:can anyone help me?what should i do?
thanks....
prepare-jars:
[java] Could not find org.microemu.android.asm.AndroidProducer.
Make sure you have it in your classpath
[java] at
org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:
138)
[java] at org.apache.tools.ant.taskdefs.Java.run(Java.java:747)
[java] at
org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:201)
[java] at org.apache.tools.ant.taskdefs.Java.execute(Java.java:
104)
[java] at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
[java] at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown
Source)
[java] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
[java] at java.lang.reflect.Method.invoke(Method.java:597)
[java] at
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:
105)
[java] at org.apache.tools.ant.Task.perform(Task.java:348)
[java] at org.apache.tools.ant.Target.execute(Target.java:357)
[java] at org.apache.tools.ant.Target.performTasks(Target.java:
385)
[java] at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
[java] at
org.apache.tools.ant.Project.executeTarget(Project.java:1298)
[java] at
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:
41)
[java] at
org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:
32)
[java] at
org.apache.tools.ant.Project.executeTargets(Project.java:1181)
[java] at
org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:
423)
[java] at
org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:
137)