我有一个装满罐子(felix 包)的目录。我想遍历所有这些 jar 并创建 dex 版本。我的意图是将这些 dex'd jar 中的每一个部署为独立的 apk,因为它们是捆绑包。如果我从错误的方向接近这个问题,请随时纠正我。
第一部分只是尝试为每个 jar 文件创建一个对应的 .dex 文件。但是,当我运行此程序时,我收到来自 Ant 的“未指定资源”错误。
这是正确的方法,还是有一种更简单的方法来输入一个 jar 并输出该 jar 的 dex 版本?${file} 是有效的,因为它在 echo 命令中吐出文件的名称。
<target name="dexBundles" description="Run dex on all the bundles">
<taskdef resource="net/sf/antcontrib/antlib.xml" classpath="${basedir}/libs/ant-contrib.jar" />
<echo>Starting</echo>
<for param="file">
<path>
<fileset dir="${pre.dex.dir}">
<include name="**/*.jar" />
</fileset>
</path>
<sequential>
<echo message="@{file}" />
<echo>Converting jar file @{file} into ${post.dex.dir}/@{file}.class...</echo>
<apply executable="${dx}" failonerror="true" parallel="true" verbose="true">
<arg value="--dex" />
<arg value="--output=${post.dex.dir}/${file}.dex" />
<arg path="@{file}" />
</apply>
</sequential>
</for>
<echo>Finished</echo>
</target>