2012-01-09 182 views
17

我爲我的android項目生成了ant build.xml,使用android update project --name <project_name> --target <target_ID> --path path/to/your/project/ (根據http://developer.android.com/guide/developing/other-ide.html),然後修改了我的build.xml(某些自定義代碼在那裏)。所以我的build.xml位於VCS中。有沒有辦法在不覆蓋build.xml的情況下生成ant文件local.properties?

但是爲了執行構建,我需要local.properties文件,它也是由android update project生成的,因此build.xml被覆蓋。

local.properties不會被檢入到VCS中。

有沒有辦法僅生成local.properties,以便開發人員(或構建服務器)可以檢出代碼並使用VCS中的build.xml構建項目?

謝謝!

回答

34

不要把local.properties到VCS:生成它,只要不存在的話(一個乾淨的檢出後,例如),通過運行

android update project -p . 

因此Android能夠用正確的路徑產生的呢到sdk。 ant.properties或project.properties意味着放置在VCS中,無論您需要在每個可能的構建環境中進行修改。

如果您不希望的build.xml文件進行修改,修改的版本標籤進入到不同的爲它的默認值,這是1。例如東西:

<!-- version-tag: custom --> 

如果你看看在build.xml註釋中,它聲明說:

*********************** 
****** IMPORTANT ****** 
*********************** 
    In all cases you must update the value of version-tag below to read 'custom' instead of an integer, 
    in order to avoid having your file be overridden by tools such as "android update project" 
+0

我接受你的答案,因爲它可以回答我的問題 – Fedor 2014-01-13 08:32:55

1

看來,如果僅指定路徑參數(例如android update project --path .從項目目錄調用時)只有local.propertiesproguard.cfg文件被更新。

+3

... clobbering proguard.cfg是有點問題。 – 2013-04-25 16:02:17

+1

'android update project --path .'答案中有錯誤打印。請修復它。該命令是正確的。 – 2013-12-27 10:05:50

+0

@MaksimDmitriev謝謝! – Fedor 2014-01-03 12:37:41

1

鑑於它(通常)只包含一個屬性sdk.dir,它指向開發者的Android SDK根目錄,所以我傾向於說開發者不需要太多的手動創建它。

+0

感謝您的迴應,但實際上我在構建服務器上遇到了這個問題,所以在不告知如何創建文件的情況下要求它創建文件有點麻煩:)當然,我可以創建該文件,而不僅僅是複製它從某處到項目文件,但因爲我們可能有幾個構建奴隸,我想讓它更容易配置。無論如何,'和orid更新項目 - 路徑.'對我來說工作得很好。 – Fedor 2012-01-11 09:55:40

+0

對不起,我寫了我的答案時,我完全掩飾了你說的「或構建服務器」的位置。 – slyfox 2012-01-12 13:51:46

相關問題