2013-12-13 183 views
49

更新1:的PhoneGap /科爾多瓦的Android開發

這一切,我到底做了:

sudo aptitude install -y python-software-properties python g++ make 
sudo add-apt-repository -y ppa:chris-lea/node.js 
sudo aptitude update 
sudo aptitude install nodejs 
sudo aptitude install npm 
sudo npm install -g cordova 
sudo npm install -g phonegap 
phonegap create my-app 
cd my-app 
export PATH=${PATH}:/home/oshirowanen/Downloads/adt-bundle-linux-x86_64-20131030/sdk/platform-tools:/home/oshirowanen/Downloads/adt-bundle-linux-x86_64-20131030/sdk/tools 
sudo aptitude install ant 
cordova platform add android 
android create avd --name my_and --target 1 
phonegap run android 

當時任何的不是neccessary?


原題:與NPM和科爾多瓦

在我的Ubuntu 12.04的電腦,我剛剛安裝的node.js:

$ node -v 
v0.10.23 

$ npm -v 
1.3.17 

$ cordova -v 
3.3.0-0.1.1 

當我嘗試添加機器人:

$ cordova platform add android 

我得到以下輸出:

Creating android project... 

/usr/lib/node_modules/cordova/node_modules/q/q.js:126 
        throw e; 
         ^
Error: An error occured during creation of android sub-project. 

/home/oshirowanen/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:126 
        throw e; 
         ^
Error: An error occurred while listing Android targets 
    at /home/oshirowanen/.cordova/lib/android/cordova/3.3.0/bin/lib/check_reqs.js:87:29 
    at _rejected (/home/oshirowanen/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:808:24) 
    at /home/oshirowanen/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:834:30 
    at Promise.when (/home/oshirowanen/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:1079:31) 
    at Promise.promise.promiseDispatch (/home/oshirowanen/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:752:41) 
    at /home/oshirowanen/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:574:44 
    at flush (/home/oshirowanen/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:108:17) 
    at process._tickCallback (node.js:415:13) 

    at /usr/lib/node_modules/cordova/src/platform.js:244:30 
    at ChildProcess.exithandler (child_process.js:641:7) 
    at ChildProcess.EventEmitter.emit (events.js:98:17) 
    at maybeClose (child_process.js:735:16) 
    at Socket.<anonymous> (child_process.js:948:11) 
    at Socket.EventEmitter.emit (events.js:95:17) 
    at Pipe.close (net.js:466:12) 

任何人都知道爲什麼會發生這種情況,以及如何解決它?

我收到與PhoneGap相同的問題。

+0

相同的錯誤/問題[cordova平臺添加android不工作,而上市Android目標](http://stackoverflow.com/questions/20323787/cordova-platform-add-android-not-working-while-listing-android-目標) – givanse

+0

可能重複的[科爾多瓦平臺添加android錯誤](http://stackoverflow.com/questions/20897115/cordova-platform-add-android-error) –

回答

88

Android工具二進制文件可能不在您的路徑中。

按照PhoneGap的文檔(http://docs.phonegap.com/en/2.9.0/guide_getting-started_android_index.md.html),您需要包括了Android SDK的工具平臺的工具在PATH環境變量

export PATH=${PATH}:/Development/adt-bundle/sdk/platform-tools:/Development/adt-bundle/sdk/tools

其中Development是您安裝SDK的路徑。

+0

僅供參考,我在窗戶上,我添加了這兩個文件夾到我的路上。但是,Windows會將路徑變量修剪爲特定長度,因此不包含完整的文件夾路徑。將adt內容移動到「c:\ adt」中以縮短路徑並且工作正常。 –

+0

謝謝!這對我來說很有效(花費了好幾個小時的調試之後究竟發生了什麼問題......)。 –

+0

非常感謝您解決我的問題。再次感謝。 – emaleavil

0

的Android

Android的命令行工具在shell腳本建。您必須在您的PATH中安裝Android SDK的工具和平臺工具文件夾!

創建項目

運行具有以下參數的創建命令:

Path to your new Cordova Android project 

Package name, following reverse-domain style convention 

Main Activity name 

$ /path/to/cordova-android/bin/create /path/to/my_new_cordova_project com.example.cordova_project_name CordovaProjectName 
-2

它可以爲你的科爾多瓦安裝已損壞嘗試刪除你的文件夾.cordova「RM -R〜/ .cordova「 再次運行」cordova platform add android「

0

看起來這個錯誤也可能是由於沒有兼容的Android SDK版本(目前爲4.2)而導致的。

5

我正在運行Ubuntu 12.04,直到幾分鐘前遇到同樣的問題。

的兩件事情我已經注意到,我在安裝過程中錯過了:

  1. 的Android版本應該是19,你應該能夠在控制檯輸入「機器人」,看到一些輸出或見一個窗口彈出。確保你將android.jar所在文件夾的路徑添加到PATH變量中,並將ANDROID_HOME設置爲同一路徑。通常,您可以在.bashrc文件或/ etc/environment中執行此操作。如果您編輯這些文件中的任何一個,則需要'source〜/ .bashrc'或重新打開終端以強制它重新加載文件。鍵入'android'以確保其工作。

  2. 我觀察到,科爾多瓦安裝腳本試圖將文件寫入到一個子目錄「附加」了Android SDK的。該目錄在Android 19發行版中不存在。因此,我手動創建了它,並使其可由我的用戶帳戶寫入。

例如:Android的分配路徑:

/opt/android/ 

,它試圖寫的路徑:

/opt/android/sdk/add-ons 

一旦我做了,我是能夠得到過去的問題,你上面已經指出。

+1

我建議你將問題重命名爲「Android,科爾多瓦3.3.0 - 無法創建子項目「或類似的東西。目前的標題不是描述性的,很多人似乎都有這個問題。 – evolvingfaster

1

它看起來像您的主目錄中的cordova andorid庫文件已損壞。

嘗試刪除主頁// cordova目錄並重新執行此操作cordova平臺在您的cordova項目中添加android

請確保您有PATH的源代碼/平臺工具和/工具。

+0

這或多或少只是接受的答案也是如此。 – Dirk

10

從adt \ sdk \ tools文件夾中運行「android」命令並安裝最新的Tools和SDK。還要確保你的PATH有正確的變量。

爲此,您需要ANT被安裝,一個JAVA JDK和Android的SDK安裝

JAVA_HOME(C:\ Program Files文件\的Java \ JDK)

ANT_HOME({螞蟻位置} \阿帕奇\ Apache的螞蟻)

ANDROID_HOME({Android SDK中的位置} \ Android的SDK)

這些添加到如%ANT_HOME%/ bin中你的PATH變量;%ANDROID_HOME%\工具;%ANDROID_HOME%\平臺 - 工具;%JAVA_HOME%\ bin

關閉並重新打開您的cmd並再次運行您的命令。

+1

最初的問題是關於Ubuntu,但是這爲我在Windows 8上解決了同樣的問題。 – BiscuitBaker

+2

這完美地運行在Windows 8上。謝謝! – Tarik

+0

我設置PATH等,仍然得到這個錯誤。請幫助這裏: http://stackoverflow.com/questions/26783594/phonegap-cordova-build-android-node-modules-qq-js-throw-e – mylord

0

我使用科爾多瓦。 2天我有同樣的問題「的Java,螞蟻,機器人,科爾多瓦,命令測試是確定的,但 運行科爾多瓦平臺添加的android告訴我錯誤:同時列出Android的目標出現錯誤」。 現在我使用的fixit: 「搭配chmod 777螞蟻和Android SDK中的地方」 ,那麼它會工作。 我使用的是Ubuntu 14。04 32位,

0

如果問題仍然存在,請確保您有正確的權限盡量

sudo chmo-R 777 /home/your-user-name/.cordova/ 

還要確保你沒有使用sudo到Android添加爲平臺

這是不正確的默認安裝科爾多瓦

sudo cordova platform add android 

只是做

cordova platform add android 
0

我爲此搜索了很多東西,而且我的工作是將shell變量$ANDROID_HOME設置爲我的adt-bundle目錄中的sdk/文件夾的路徑。使用export來做到這一點:

export ANDROID_HOME="/Users/YOUR_USER/Developer/adt-bundle/sdk/" 但一定要改變目錄以匹配你的。

祝你好運!

0

不知道別人是否有這個問題,但是當我刪除並再次添加我的平臺時,我意識到在我的config.xml中我有<icon src='...'>和src裏面的路徑是錯誤的。

這是當我再次添加平臺時收到的錯誤輸出:cp: no such file or directory: C:\Users\{pathtofile}.png

當我修復路徑後,它工作正常。

相關問題