2011-11-25 55 views
2

如果我在我的dir proj shell中運行ant release,但它工作正常,但是,當我嘗試從python執行它時,它失敗了,爲什麼?爲什麼Python無法運行ant構建?

/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' 
+2

螞蟻運行時,當前目錄和環境變量有什麼不同? – Mark

回答

0

如果沒有關於您的設置或您正在使用的代碼的更多信息,很難回答此問題。特別是那些產生錯誤的部分,因爲我們不知道你的代碼是什麼樣的(無論是在build.xml還是在python腳本中)。

如@Mark所示,一個簡單的方法是在release任務中找到<echo>${basedir}</echo>,以查看它認爲它從哪裏運行。我的猜測是,你正在嘗試加載一個屬性文件或其他類似的東西,但它沒有在前面的步驟中找到它。

你能做些什麼,如果從目錄中與您的python腳本內中運行時的${basedir}位置看起來不同的是用它來參考您的build.xml文件的生活和參考從那裏:

<dirname property="project.basedir" file="${ant.file.project_name}"/> 

然後使用${project.basedir}而不是${basedir}

所有這些假設,當然,你的${basedir}出現在兩者之間不同。否則,爲了診斷問題,我需要了解更多信息。

+1

我結束了使用bash :) – hunterp

相關問題