2010-03-17 93 views
6

我有一個名爲MyApp的模塊,另一個名爲MyAppTests的模塊依賴於MyApp。兩個模塊都生成APK,一個名爲MyApp.apk,另一個名稱爲MyAppTests.apk。如何建立一個Android測試應用程序與依賴於另一個應用程序使用螞蟻?

我通常的IntelliJ或Eclipse構建這些,但我想爲他們創造一個Ant構建持續集成的目的。

我用「android update」爲MyApp創建了一個構建文件,並且感謝commonsware's answer對我以前的問題,我已經能夠使用ant成功構建它。

我現在想使用Ant構建MyAppTests.apk。我像之前一樣使用「android update」構建了構建文件,但是當我運行它時,我收到一個錯誤,指出它沒有在MyApp中找到任何類。

以從我剛纔的問題一闕,我試圖把MyApp.apk到我MyAppTests /庫,可惜沒有奇蹟般地解決問題。

什麼用螞蟻當它依賴於另一個APK類建立一個測試應用程序APK的最佳方式?

$ ant debug 
Buildfile: build.xml 
    [setup] Project Target: Google APIs 
    [setup] Vendor: Google Inc. 
    [setup] Platform Version: 1.5 
    [setup] API level: 3 
    [setup] WARNING: No minSdkVersion value set. Application will install on all Android versions. 

dirs: 
    [echo] Creating output directories if needed... 

resource-src: 
    [echo] Generating R.java/Manifest.java from the resources... 

aidl: 
    [echo] Compiling aidl files into Java classes... 

compile: 
    [javac] Compiling 5 source files to /Users/mike/Projects/myapp/android/MyAppTests/bin/classes 
    [javac] /Users/mike/Projects/myapp/android/MyAppTests/src/com/myapp/test/GsonTest.java:3: cannot find symbol 
    [javac] symbol : class MyApplication 
    [javac] location: package com.myapp 
    [javac] import com.myapp.MyApplication; 
    [javac]    ^

回答

4

/Users/mike/Projects/myapp/android/,假設主要的應用程序源是在一個名爲MyApp子目錄,運行:
android create test-project -p MyAppTests -m ../MyApp -n MyAppTests

這將產生一個測試文件夾結構和相應的Ant構建文件,這樣你就可以做:
cd MyAppTests
ant run-tests

+0

謝謝克里斯託弗!這創建了必要的構建文件,看起來它是正確的解決方案,但尚未完成。這是目前的問題:http://stackoverflow.com/questions/2472059/class-ref-in-pre-verified-class-resolved-to-unexpected-implementation-when-runn – emmby 2010-03-18 17:34:21

1

我跑進這個確切的問題。

對我來說,解決辦法是下面添加到我的ant.properties。

tested.project.dir=../MyApp 

克里斯托弗的答案也會爲你生成一個ant.properties文件。如果您在Eclipse中沒有完整的項目,他的解決方案會更好。

對於我來說,我的項目已經建設和在Eclipse中工作,但螞蟻不會建立。要做到這一點,我只需要在我的ant.properties上面。 Eclipse和其他IDE不會爲您生成正確的ant.properties,因此克里斯托弗的答案將生效,因爲它會生成ant.properties。

相關問題