天線應該適用於大多數情況。爲J2SE和J2ME使用單一來源的優點是,您可以從源代碼的維護中省去,並且還可以消除可能出現的錯誤。我也有類似的問題,但是我必須編寫一個適合自己的預處理器我的需要。但對於大多數的目的天線做工作精美
編輯:樣本構建文件
<project name="SomeProject" default="buildJ2ME" basedir="..">
...
...
...
<taskdef name="jadUpdater" classname="net.jxta.j2me.tools.Jad" classpath="${lib.dir}/jxta-tools.jar"/>
<taskdef resource="proguard/ant/task.properties" classpath="${lib.dir}/proguard.jar" />
<taskdef resource="antenna.properties" classpath="${lib.dir}/antenna-bin-1.0.2.jar" />
<macrodef name="preprocess">
<attribute name="source"/>
<attribute name="dest"/>
<attribute name="symbols"/>
<sequential>
<wtkpreprocess
version="2"
srcdir="@{source}"
destdir="@{dest}"
symbols="@{symbols}"
printsymbols="true">
</wtkpreprocess>
</sequential>
</macrodef>
<target name="compile" depends="init">
<copy todir="${temp.dir}/src" >
<fileset dir="${src.dir}"/>
</copy>
<preprocess source="${temp.dir}/src" dest="${temp.dir}/preprocessed" symbols="${symbols}"/>
<javac srcdir="${temp.dir}/preprocessed"
destdir="${temp.dir}/classes"
bootclasspath="${bootclasspath}"
classpath="${lib.dir}"
debug="off"
source="1.3"
target="1.1" />
<antcall target="jarForObfuscate"/>
</target>
<target name="buildJ2ME" depends="clean">
<property name="symbols" value="J2ME1,J2ME2"/>
<antcall target="compile"/>
</target>
<target name="buildJ2SE">
<property name="symbols" value="J2SE1,J2SE2"/>
<antcall target="compile"/>
</target>
...
...
...
</project>
希望這有助於!
來源
2009-08-18 06:15:30
Ram
這已經被證明是我最好的選擇 - 我只需要交換J2ME和J2SE圖形對象,所以我實現了一個包裝該對象的接口。 正如你所建議的那樣,我還在每個通用和平臺特定代碼的交集處都有一個簡單的界面。 感謝您的建議! – Symmetric 2009-09-20 15:59:39