2011-11-18 85 views
6

我有許多項目可以同時處理。在eclipse中每次構建後運行批處理文件

每次我構建並運行其中的一個時,apk文件夾就像往常一樣位於bin文件夾中。

如果我想將此apk複製到項目之外的其他文件夾,我必須手動執行此操作。

我創建了一個批處理文件,將所有項目的apk文件複製到所需位置。


有沒有辦法改變的bin文件夾的輸出位置到某處項目之外,或更優選每次運行後的批處理文件建立


注意

我使用的Eclipse ADT帶。我試圖添加一個執行批處理文件的構建器。但是,批處理文件運行時,apk文件尚未生成。我嘗試了構建器中所有可能的選項組合以及所有可能的構建器序列。

+0

您正在使用'Makefile'嗎?如果是這樣,它是什麼樣子?調整大多數'Makefile's爲這個任務很容易,無論如何... – sarnold

+0

我使用android插件進行eclipse嗎?這真的很尷尬,但我不知道這一點。 –

回答

5

如果您在使用Eclipse的同時完善構建,然後切換到最終構建的命令行,然後使用Ant,只需很少的努力或配置即可輕鬆獲得所需內容。

假設

1)你的源代碼是在Android的工作區,你將最終獲得兩套二進制文件 - 一個由Eclipse的製作,由螞蟻提出的其他最終將工作區的外由屬性中設置文件

2)您使用SDK14或15(螞蟻在14改變的)

3)你有一個您需要安裝Ant 1.8.2--這不是Eclipse使用的內部版本,您可能需要從Apache站點獲取它,它易於安裝

步驟

1)建立從命令行的示例項目如http://developer.android.com/guide/developing/projects/projects-cmdline.html

描述例如我使用: 機器人創建項目--target 8 --name Sample15App --path C:\ dev的 \ projects \ samples \ Sample15 --activity Sample15Activity --package com.me.samplefifteen

這將建立一個目錄,稍後您將用作爲模板在您的項目

2)在您的工作區在Eclipse做一個樣本項目的一些文件,我在工作區中的一種製成EclipseSample

的build.xml ant.properties L:

3)複製下面從Sample15App您EclipseSample項目的根文件ocal.properties

4)編輯ant.properties(其初始爲空)是這樣的例子:

projectname=EclipseSample 
workspace.dir=/dev/projects/EclipseIndigo/AndroidWorkTwo 
base.dir=${workspace.dir}/${projectname} 
outbasebase.dir=/dev/projects/AntBuilds 
outbase.dir=${outbasebase.dir}/${projectname} 
ant.project.name=${projectname} 
out.dir=${outbase.dir}/bin 
layout.dir=${base.dir}/res/layout 
source.dir=${base.dir}/src 

從這裏就可以看出,我的工作區是的/ dev /項目/ EclipseIndigo/AndroidWorkTwo

下這個Eclipse項目是在目錄EclipseSample

我希望我的APK在的/ dev /項目結束/ AntBuilds/EclipseSample(即outbasebase與項目名稱 - 所以,用於其他項目,你可以使用一個非常類似的ant.properties文件只是改變項目名稱級聯)

5)重要事項 - 編輯的build.xml

註釋掉或刪除行:

<project name="Sample15App" default="help"> 

只有

<project> 
更換

這只是意味着它將從ant.properties拿起項目名稱,而不是build.xml文件,您可以使用在所有的項目相同的build.xml,只需要ant.properties改變

6)嘗試與「蟻調試」應該構建下的/ dev /項目調試的apk/AntBuilds/EclipseSample

7)最後,如果你要自動運行的發佈版本(簽名和自動輸入密碼)加行像

key.store.password=YourPassword 
key.alias.password=YourPassword 
key.store=c:/users/you/yourrelease-key.keystore 
key.alias=release_alias 

到ant.properties,然後你只需要輸入「蟻發佈」

如果不添加它們,它會告訴你手動登錄和無密碼的條目是在「build.properties發現'( - 這是ant.properties過去稱爲SDK 14之前的版本,它們應該已經糾正了這個問題!)

+0

感謝您的時間+1我會盡快嘗試 –

4

您可以使用Project Properties->Builders->New...將新建築工程添加到您的項目中。

這樣做的一種方法是創建一個ant build(它複製文件),或者只是一個普通的舊腳本或批處理文件。

+0

如何在構建完成後使批處理文件運行?恰好在創建bin文件夾中的apk文件之後 –

+0

您可以使用「構建器」頁面上的向上和向下按鈕來上下移動構建器。如果您希望在構建之後發生這種情況,請在所有其他構建器之後將其向下移動。 –

+0

請隨身攜帶。我添加了一個新的生成器。將'位置'設置爲批處理文件位置。現在,在'Build Options'中,有一個選項叫做「運行構建器」,我至少應該選擇其中一個複選框:(乾淨後) - (在手動構建期間) - (在自動構建期間) - 乾淨)。他們都沒有爲我工作,並且該批處理文件給出了一個錯誤,該文件未找到,因此它正在試圖在創建文件之前進行復制。還有一件事,似乎該文件僅在「檢查完乾淨」後才執行。 –

相關問題