【问题标题】:Why does Python fail to run ant build?为什么 Python 无法运行 ant build?
【发布时间】:2011-11-25 20:00:39
【问题描述】:
如果我在我的目录proj 的shell 中运行ant release,它可以正常工作,但是,当我尝试从python 执行它时,它会失败,为什么?
/Users/hunterp/proj
Buildfile: /Users/hunterp/proj/build.xml
BUILD FAILED
/Users/hunterp/proj/build.xml:46: sdk.dir is missing. Make sure to generate local.properties using 'android update project'
【问题讨论】:
标签:
android
python
shell
ant
environment-variables
【解决方案1】:
如果没有有关您的设置或您使用的代码的更多信息,很难回答这个问题。特别是生成错误的部分,因为我们不知道您的代码是什么样的(在 build.xml 或您的 python 脚本中)。
正如@Mark 所指出的,一个简单的开始就是在你的release 任务中<echo>${basedir}</echo> 看看它认为它从哪里运行。我的猜测是您正在尝试加载属性文件或类似文件,但在前面的步骤中没有找到它。
如果${basedir} 的位置在从目录中运行时与在 python 脚本中运行时看起来不同,您可以做的是使用对 build.xml 文件所在位置的引用并从那里引用:
<dirname property="project.basedir" file="${ant.file.project_name}"/>
然后使用${project.basedir} 而不是${basedir}。
当然,所有这些都假设您的${basedir} 在两者之间出现不同。否则我需要了解更多信息才能诊断问题。