2014-06-16 125 views
4

我安裝了cordova,並且可以創建一個沒有任何問題的新項目。科爾多瓦,在Ubuntu上添加Android平臺時出現錯誤14.04

但是嘗試添加Android平臺的時候,我發現了以下錯誤:

sudo cordova platform add android 
Running platform task... 
Adding platform android 
Creating android project... 

/home/tushar/.cordova/lib/android/cordova/3.5.0/bin/node_modules/q/q.js:126 
        throw e; 
         ^
Error: An error occurred while listing Android targets 
    at /home/tushar/.cordova/lib/android/cordova/3.5.0/bin/lib/check_reqs.js:87:29 
    at _rejected (/home/tushar/.cordova/lib/android/cordova/3.5.0/bin/node_modules/q/q.js:808:24) 
    at /home/tushar/.cordova/lib/android/cordova/3.5.0/bin/node_modules/q/q.js:834:30 
    at Promise.when (/home/tushar/.cordova/lib/android/cordova/3.5.0/bin/node_modules/q/q.js:1079:31) 
    at Promise.promise.promiseDispatch (/home/tushar/.cordova/lib/android/cordova/3.5.0/bin/node_modules/q/q.js:752:41) 
    at /home/tushar/.cordova/lib/android/cordova/3.5.0/bin/node_modules/q/q.js:574:44 
    at flush (/home/tushar/.cordova/lib/android/cordova/3.5.0/bin/node_modules/q/q.js:108:17) 
    at process._tickCallback (node.js:415:13) 
Error: /home/tushar/.cordova/lib/android/cordova/3.5.0/bin/create: Command failed with exit code 8 
    at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:131:23) 
    at ChildProcess.EventEmitter.emit (events.js:98:17) 
    at maybeClose (child_process.js:743:16) 
    at Process.ChildProcess._handle.onexit (child_process.js:810:5) 
Unable to add platform android. Please see console for more info. 

試過幾乎全部來自計算器的解決方案,但沒有人解決。 我已經加入到Android SDK的路徑,螞蟻等上./bashrc文件如下:

export HOME="/home/tushar" 
export ANDROID_HOME="$HOME/Development/adt-bundle/sdk/tools" 
export ANDROID_PLATFORM_TOOLS="$HOME/Development/adt-bundle/sdk/platform-tools" 
export PATH="$ANDROID_HOME:$ANDROID_PLATFORM_TOOLS:$PATH" 

export ANT_HOME="$HOME/Development/ant" 
export PATH="$PATH:$ANT_HOME/bin" 

但我仍然得到這個問題。

任何建議?

UPDATE

這些可能會有所幫助調試:

$ node -v 
v0.10.25 

$ npm -v 
1.3.10 

$ cordova -v 
3.5.0-0.2.4 

$ android list targets 
Available Android targets: 
---------- 
id: 1 or "android-19" 
    Name: Android 4.4.2 
    Type: Platform 
    API level: 19 
    Revision: 3 
    Skins: HVGA, WXGA800, WVGA800 (default), WQVGA432, WXGA800-7in, WXGA720, QVGA, WVGA854, WQVGA400, WSVGA 
Tag/ABIs : default/armeabi-v7a 
+0

這個解決方案在下面提到l簽署解決了這個問題我 - http://stackoverflow.com/a/23981071/1084806 – SkyTreasure

+0

@AkashNidhiPS:正如我上面提到的,我已經導出所需的路徑。 –

回答

2

沒有與你的路一個問題: ANDROID_HOME應指向SDK文件夾,而不是SDK /工具

另外補充ANDROID_TOOLS指向sdk /工具

總而言之,你需要: JAVA_HOME, ANT_HOME, ANDROID_HOME, ANDROID_PLATFORM_TOOLS, ANDROID_TOOLS, 也許ANDROID_SDK_ROOT指向SDK爲好。

P.S.沒有sudo,是的。

0

我想你沒有執行「科爾多瓦平臺添加機器人」作爲一個超級用戶。

0

我掙扎了同樣的問題,整天..原來在導出路徑變量,我沒加的完整路徑...

我們組一個「空殼」手建議運行「PWD」來獲得「當前工作目錄」,然後給出口的確切路徑...它的工作

0

有同樣的問題。我的PATH是正確的。訪問權限沒有問題。 還注意到adt-emulator出現錯誤。

最後,它缺少允許adt(部分是32位)在64位ubuntu系統上運行的庫。

sudo apt-get install lib32z1 lib32z1-dev 

解決了這一切,一切正常。

希望這有助於爲其他人解決此問題。

0

在LMDE中有完全相同的問題,並且由毛茛屬回答,我直接在我的終端中添加了下面的內容,它工作正常!

export ANDROID_HOME="$HOME/android-sdk-linux" 
export ANDROID_TOOLS="$ANDROID_HOME/tools/" 
export ANDROID_PLATFORM_TOOLS="$ANDROID_HOME/platform-tools/" 
export JAVA_HOME="/usr/lib/jvm/java-7-oracle" 
export ANT_HOME="/usr/share/ant" 
export PATH="$JAVA_HOME:$ANT_HOME:$ANDROID_HOME:$ANDROID_TOOLS:$ANDROID_PLATFORM_TOOLS:$PATH" 

N.B:不能評論毛茛屬的答案,所以發佈它作爲答案。

0

我有同樣的問題(雖然在Windows上運行,但仍然值得一試就在你身邊),並發現它是由於bug in Ant。我的類路徑以「也是,我必須通過刪除我的類路徑變量中的」來解決這個問題。

0

我有同樣的問題,努力增加多項配置該做的衝突,還有一兩件事,我發現,我已經打開,當我一個終端上更新路徑,並試圖在另一個我仍然得到執行科爾多瓦命令多個終端同樣的錯誤,所以我試過,顯示更新的路徑,但另一端的第一終端回聲$ PATH,同時呼應沒有顯示更新的路徑,最後我打開新的終端並再次啓動是的,這一次它的工作原理,這種問題一般發生在Windows,但我不知道如果同樣發生在Linux,但在我的情況是,我希望這可以幫助別人,現在我的新受兩科爾多瓦和離子命令做工精細感謝SO社會各界的鼎力支持和指導

相關問題