-compile でコンパイル用の classpathref として使用されるパスは 2 つありますが、そのうちの 1 つは dexing では使用されません。
<target name="-compile" depends="-build-setup, -pre-build, -code-gen, -pre-compile">
<do-only-if-manifest-hasCode elseText="hasCode = false. Skipping...">
<!-- merge the project's own classpath and the tested project's classpath -->
<path id="project.javac.classpath">
<path refid="project.all.jars.path" />
<path refid="tested.project.classpath" />
</path>
<javac encoding="${java.encoding}"
source="${java.source}" target="${java.target}"
debug="true" extdirs="" includeantruntime="false"
destdir="${out.classes.absolute.dir}"
bootclasspathref="project.target.class.path"
verbose="${verbose}"
classpathref="project.javac.classpath"
fork="${need.javac.fork}">
<src path="${source.absolute.dir}" />
<src path="${gen.absolute.dir}" />
<compilerarg line="${java.compilerargs}" />
</javac>
…
</target>
これらのパスは「project.all.jars.path」と「tested.project.classpath」ですが、パス「tested.project.classpath」は dexing では使用されないため、プリコンパイル ターゲットで次のように変更できます。
<target name="-pre-compile" >
<path id="tmp">
<pathelement path="${toString:tested.project.classpath}"/>
<fileset dir=“${exported.jars.dir}” >
<include name="*.jar" />
</fileset>
</path>
<path id="tested.project.classpath"><pathelement path="${toString:tmp}"/></path>
<path id="tmp"/>
</target>
ここでは、コンパイルを開始する前に、エクスポートした jar のパスを「tested.project.classpath」に追加します。ant.properties ファイルに「exported.jars.dir」を入れることができます。