Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 使用Ant我怎么能dex一个jar目录?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个装满了罐子的目录(@R_@R_502_2481@_1704@捆绑包).我想迭代所有这些罐子并创建dex’d版本.我的意图是将这些dex’d jar中的每一个都作为独立的apk部署,因为它们是捆绑包.如果我从错误的方向接近这个,请随意把我拉直.

第一部分是尝试为每个jar创建一个相应的.dex文件.但是当我运行这个时,我得到一个“没有指定资源”的错误来自Ant.

这是正确的方法,还是有一个更简单的方法来输入一个jar并输出该jar的dex’d版本? ${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>

解决方法

@H_197_16@ 放手一搏:

<target name="dexBundles" description="Run dex on all the bundles">
        <apply executable="${exec.dx}" dest="${post.dex.dir}/" parallel="false">
            <arg value="--dex"/>
            <arg value="--output="/>
            <targetfile/>
            <srcfile/>
            <fileset dir="${pre.dex.dir}" includes="**/*.jar"/>
            <mapper type="glob" from="*.jar" to="*.dex"/>
        </apply>
    </target>

看起来ant apply task允许你迭代文件集而不需要ant-contrib(特别是该页面一个在目录中查找* .c的例子,编译它们,并在指定的目录中将它们重命名为* .o应该直接适用).不幸的是,看起来您将失去echo消息提供的可跟踪性.

为了记录,我相信错误信息实际上是由dx.bat直接生成的,但我不确定,我不知道为什么.

希望有所帮助.

大佬总结

以上是大佬教程为你收集整理的android – 使用Ant我怎么能dex一个jar目录?全部内容,希望文章能够帮你解决android – 使用Ant我怎么能dex一个jar目录?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。