android - PhoneGap/Cordova Android 开发

标签 android node.js ubuntu cordova

更新 1:

这就是我最后所做的一切:

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

这些都不是必要的吗?


原始问题:

在我的 Ubuntu 12.04 计算机上,我刚刚安装了带有 npm 和 cordova 的 node.js:

$ node -v
v0.10.23

$ npm -v
1.3.17

$ cordova -v
3.3.0-0.1.1

当我尝试添加android时:

$ 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 遇到了同样的问题。

最佳答案

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

根据 PhoneGap 文档 (http://docs.phonegap.com/en/2.9.0/guide_getting-started_android_index.md.html),您需要在 PATH 环境变量中包含 Android SDK 的 toolsplatform-tools

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

其中 Development 是您安装 SDK 的路径。

关于android - PhoneGap/Cordova Android 开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20576704/

相关文章:

node.js - Sublime 找不到 Node.js

javascript - `console.log` 是否在 node.js 中缓冲输出?

c - 如果我没有流但有文件描述符,如何使用 fgets 或 getline?

linux - 如何为在随机端口上运行的自定义程序启用 Linux 防火墙(ufw)

java - 我收到以下运行时错误。请帮我找出原因

java - 使用 java 显示的 Admob 广告未使用 xml 显示

node.js - 在查找中以 ref 作为参数的字段不起作用

apache - 在 Ubuntu 12.04 上的 Apache2 中配置 VirtualHost 的问题

android - 关于android上webRTC的几个问题

android - 在 Android 中连接到指定的 WiFi 网络