以前使用老版本的SDK ant打包是没有问题的(此处ant本猿没有用Eclipse自带的)。但是今天一直没有成功。
1.根据ant log提示首先找到了build.xml 84行的问题
<!-- 根据工程中的资源文件生成R.java文件 --> <target name="gen-R" depends="init"> <echo>Generating R.java from the resources...</echo> <exec executable="${aapt}" failonerror="true"> <arg value="package" /> <arg value="-f" /> <arg value="-m" /> <arg value="-J" /> <arg value="${outdir-gen}" /> <arg value="-S" /> <arg value="${resource-dir}" /> <arg value="-M" /> <arg value="${manifest-xml}" /> <arg value="-I" /> <arg value="${android-jar}" /> </exec> </target>查到原因 aapt没有找到
同理aidl 、dx、apkbuilder都没有找到
<!-- 使用到的命令(当前系统为windows,如果系统为linux,可将.bat文件替换成相对应的命令) --> <property name="aapt" value="${sdk-platform-tools}/aapt" /> <property name="aidl" value="${sdk-platform-tools}/aidl" /> <property name="dx" value="${sdk-platform-tools}/dx.bat" /> <property name="apkbuilder" value="${sdk-tools}/apkbuilder.bat" />
于是再向上一级
${sdk-platform-tools}=${sdk-folder}/platform-tools发现
aapt根就没有在<span style="font-family: Arial, Helvetica, sans-serif;">${sdk-platform-tools}路径下。</span>
<span style="font-family:Arial, Helvetica, sans-serif;">同理在</span><pre code_snippet_id="237032" snippet_file_name="blog_20140315_5_8894493" name="code" class="html">${sdk-folder}/build-tools下找到了不同版本号下的aapt
<span style="color:#ff0000;">原来新版的SDK将原先的编译相关的东西分版本管理在不同以往的路径了</span>
</pre>2.接下来又报了打包失败,原因与1.类似apkbuilder.bat这个批处理文件没有找到
升级了最新版的android sdk 4.2.2和adt22.0.1,发现apkbuilder.bat不见了,但是网上说3.0以后这个apkbuilder.bat已经被废弃了,目前的打包方式,都是基于apkbuilder.bat打包
http://stackoverflow.com/questions/16620655/i-have-updated-android-sdk-to-rev-22-yesterday-and-there-is-no-apkbuilder-in-to
免费下载地址 CSDN:apkbuilder.zip
3.在原先的基础上将这个文件解压并将路径指定正确就没有问题了。