在Linux机器上使用Ant FAILED for Android构建,但在Mac机器上成功完成

时间:2013-06-16 22:15:15

标签: android linux ant build

我正在尝试使用Linux机器中的ant构建android项目。该项目在我的Mac机器上构建时没有问题,但在linux机器上。似乎无法弄明白为什么!

我打字

ant release

然后我收到以下消息:

 BUILD FAILED
/android/android-sdk-linux/tools/ant/build.xml:885: The following error occurred while executing this line:
/android/android-sdk-linux/tools/ant/build.xml:887: The following error occurred while executing this line:
/android/android-sdk-linux/tools/ant/build.xml:899: The following error occurred while executing this line:
/android/android-sdk-linux/tools/ant/build.xml:281: null returned: 137

并且build.xml文件中的行是

275 <dex executable="${dx}"
276                    output="${intermediate.dex.file}"
277                    dexedlibs="${out.dexed.absolute.dir}"
278                    nolocals="@{nolocals}"
279                    forceJumbo="${dex.force.jumbo}"
280                    disableDexMerger="${dex.disable.merger}"
281                    verbose="${verbose}">
      <path path="${out.dex.input.absolute.dir}"/>
      <path refid="out.dex.jar.input.ref" />
      <external-libs />
    </dex>
.
.
.
.
.

884   <target name="-dex" depends="-compile, -post-compile, -obfuscate">
885      <do-only-if-manifest-hasCode elseText="hasCode = false. Skipping...">
886      <!-- only convert to dalvik bytecode is *not* a library -->
887      <do-only-if-not-library elseText="Library project: do not convert bytecode..." >
888         <!-- special case for instrumented builds: need to use no-locals and need
889                 to pass in the emma jar. -->
890            <if condition="${build.is.instrumented}">
891                <then>
892                    <dex-helper nolocals="true">
893                        <external-libs>
894                            <fileset file="${emma.dir}/emma_device.jar" />
895                        </external-libs>
896                    </dex-helper>
897                </then>
898                <else>
899                    <dex-helper />
                </else>
            </if>
        </do-only-if-not-library>
    </do-only-if-manifest-hasCode>
</target>

我希望有人可以提供帮助

1 个答案:

答案 0 :(得分:5)

找到解决方案。这似乎是一个许可问题。在linux上构建时,我必须具有写入和执行权限。