2012-11-10 356 views
0

我正在Windows平臺上開發Android應用程序。我可以在本地機器上成功地使用命令行工具創建和構建android應用程序,而不會出現問題。Android Jenkins構建

我決定使用Jenkins遠程構建應用程序。我可以成功地創建一個Windows從機,並使用命令行工具創建一個測試應用程序。但我不能讓它遠程與此進行仿真:

C:\Dev\workspace\com.this.test\cordova\cordova.bat 

此行本地工作,但如果我用它在詹金斯,它會產生這個錯誤。

c:\Dev\jenkins\workspace\buildtest>C:\Dev\workspace\com.this.test\cordova\cordova.bat emulate 
Microsoft (R) Windows Script Host Version 5.8 
Copyright (C) Microsoft Corporation. All rights reserved. 

You don't have any Android Virtual Devices. Please create at least one AVD. 
android 
Build step 'Execute Windows batch command' marked build as failure 

編輯: 如果我運行下面的命令在本地,

%comspec% /c android.bat list avd 

它列出了自動真空澱積像下面。

Available Android Virtual Devices: 
    Name: ap16 
    Path: C:\Users\tt\.android\avd\ap16.avd 
    Target: Android 4.1.2 (API level 16) 
    ABI: armeabi-v7a 
    Skin: WVGA800 

但是,如果我通過詹金斯發送它說什麼,但:

Available Android Virtual Devices: 

回答

0

你在遠程機器上的模擬器?即通過android create avd命令行或使用SDK管理器工具。

更簡單地說,您還可以安裝Android Emulator Plugin來自動處理模擬器的創建。


編輯,提供了更多信息後:創建

仿真器是每個用戶—他們不是一臺機器的所有用戶之間共享。

大概你是以不同的用戶身份運行Jenkins的,例如,系統用戶通過將Jenkins作爲Windows服務運行。因此,它會在登錄到您的帳戶時看到一組不同的模擬器。

我仍然會推薦使用emulator plugin,以便詹金斯可以在需要時創建自己的模擬器(儘管注意關於作爲Windows系統帳戶運行的「已知問題」)。或者,您可以以Jenkins帳戶手動創建模擬器,或者將Jenkins服務更改爲「以常規用戶身份運行」。

+0

不,我沒有創建任何附加內容。但是已經有AVD了。如果我在slave上本地運行'%comspec%/ c android.bat list avd'命令,它會列出可用的AVD。但是如果我通過詹金斯發出這個命令,它說沒有發現任何東西,我真的很困惑。我更新了這個問題。 – noway

0

試着安裝Android Emulator插件,但我也遇到了這個插件的最新版本的問題,並且沒有降級它的選項。 我試圖在Jenkins中創建虛擬設備,並試圖使用現有的虛擬設備 - 在這兩種情況下都出錯...