S
Sebastian Berger
Hi,
I wrote the following ant build-file to create an obfusticated (with
proguard) jar-file:
<project name="test_biginteger" default="compile" basedir="..">
<property name="project" value="test_biginteger" />
<property name="WTK.dir" value="C:\Programme\WTK21"/>
<property name="MIDP.lib" value="${WTK.dir}\lib\midpapi20.jar" />
<property name="CLDC.lib" value="${WTK.dir}\lib\cldcapi11.jar" />
<!-- The following property is needed only for obufscate_proguard. -->
<property name="proguard" value="c:\Programme\proguard\lib\proguard.jar"/>
<path id="bootclasspath">
<pathelement path="${MIDP.lib}"/>
<pathelement path="${CLDC.lib}"/>
</path>
<path id="classpath">
</path>
<!-- INIT - execute any tasks required for the build -->
<target name="init">
<tstamp/>
</target>
<!-- Runs the application in the emulator. -->
<target name="run">
<exec executable="${midp}/bin/emulator">
<arg line="-classpath build/bin/${project}.jar"/>
<arg line="-Xdescriptor build/bin/${project}.jad"/>
</exec>
</target>
<!-- Obufscates using ProGuard. -->
<target name="obfuscate_proguard" depends="compile, copylib">
<mkdir dir="build/proguard" />
<jar basedir="build/classes" jarfile="build/proguard/${project}-input.jar"
/>
<java fork="yes" classname="proguard.ProGuard" classpath="${proguard}">
<arg line="-libraryjars ${MIDP.lib}" />
<arg line="-injars build/proguard/${project}-input.jar" />
<arg line="-outjar build/proguard/${project}-output.jar" />
<arg line="-keep 'public class * extends javax.microedition.midlet.MIDlet'"
/>
<arg line="-defaultpackage" />
<arg line="-dontusemixedcaseclassnames" />
</java>
<mkdir dir="build/obfuscated" />
<unjar src="build/proguard/${project}-output.jar" dest="build/obfuscated" />
</target>
<!-- COMPILE - convert the source into class files -->
<target name="compile" depends="init">
<mkdir dir="build/classes" />
<javac destdir="build/classes" srcdir="src" target="1.1">
<bootclasspath refid="bootclasspath"/>
</javac>
</target>
<!-- Unjars the library APIs in preparation for obfuscation. -->
<target name="copylib" depends="init">
<!-- <unjar src="libs/midp_classes.zip" dest="build/classes" /> -->
<unjar src="${MIDP.lib}" dest="build/classes" />
<unjar src="${CLDC.lib}" dest="build/classes" />
</target>
</project>
---------------------------------------------------
There is a problem in the unjar process. When ant wants to unjar the file
"midpapi20.jar" then I get the following exception:
"D:\Programmierung\studi\test_biginteger\build\build.xml:58:
java.lang.RuntimeException: data starting at 112 is in unknown format"
Do you have any idea for that error?
Thanks a lot in advance,
Sebastian
I wrote the following ant build-file to create an obfusticated (with
proguard) jar-file:
<project name="test_biginteger" default="compile" basedir="..">
<property name="project" value="test_biginteger" />
<property name="WTK.dir" value="C:\Programme\WTK21"/>
<property name="MIDP.lib" value="${WTK.dir}\lib\midpapi20.jar" />
<property name="CLDC.lib" value="${WTK.dir}\lib\cldcapi11.jar" />
<!-- The following property is needed only for obufscate_proguard. -->
<property name="proguard" value="c:\Programme\proguard\lib\proguard.jar"/>
<path id="bootclasspath">
<pathelement path="${MIDP.lib}"/>
<pathelement path="${CLDC.lib}"/>
</path>
<path id="classpath">
</path>
<!-- INIT - execute any tasks required for the build -->
<target name="init">
<tstamp/>
</target>
<!-- Runs the application in the emulator. -->
<target name="run">
<exec executable="${midp}/bin/emulator">
<arg line="-classpath build/bin/${project}.jar"/>
<arg line="-Xdescriptor build/bin/${project}.jad"/>
</exec>
</target>
<!-- Obufscates using ProGuard. -->
<target name="obfuscate_proguard" depends="compile, copylib">
<mkdir dir="build/proguard" />
<jar basedir="build/classes" jarfile="build/proguard/${project}-input.jar"
/>
<java fork="yes" classname="proguard.ProGuard" classpath="${proguard}">
<arg line="-libraryjars ${MIDP.lib}" />
<arg line="-injars build/proguard/${project}-input.jar" />
<arg line="-outjar build/proguard/${project}-output.jar" />
<arg line="-keep 'public class * extends javax.microedition.midlet.MIDlet'"
/>
<arg line="-defaultpackage" />
<arg line="-dontusemixedcaseclassnames" />
</java>
<mkdir dir="build/obfuscated" />
<unjar src="build/proguard/${project}-output.jar" dest="build/obfuscated" />
</target>
<!-- COMPILE - convert the source into class files -->
<target name="compile" depends="init">
<mkdir dir="build/classes" />
<javac destdir="build/classes" srcdir="src" target="1.1">
<bootclasspath refid="bootclasspath"/>
</javac>
</target>
<!-- Unjars the library APIs in preparation for obfuscation. -->
<target name="copylib" depends="init">
<!-- <unjar src="libs/midp_classes.zip" dest="build/classes" /> -->
<unjar src="${MIDP.lib}" dest="build/classes" />
<unjar src="${CLDC.lib}" dest="build/classes" />
</target>
</project>
---------------------------------------------------
There is a problem in the unjar process. When ant wants to unjar the file
"midpapi20.jar" then I get the following exception:
"D:\Programmierung\studi\test_biginteger\build\build.xml:58:
java.lang.RuntimeException: data starting at 112 is in unknown format"
Do you have any idea for that error?
Thanks a lot in advance,
Sebastian