Cordova Android平台添加Android错误3.3

时间:2014-02-15 17:19:37

标签: android cordova

所以我疯了 - 当涉及到cordova / phonegap时似乎无穷无尽。

在Mac OS X上,我试图将android添加为平台...

我很自然地去......

$ cordova platform add android

我收到此错误...

Creating android project...
Error: An error occured during creation of android sub-project. 

/Users/jasonstockton/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:126
                    throw e;
                          ^
Error: The command "android" failed. Make sure you have the latest Android SDK installed, and the "android" command (inside the tools/ folder) is added to your path.
    at /Users/jasonstockton/.cordova/lib/android/cordova/3.3.0/bin/lib/check_reqs.js:85:29
    at _rejected (/Users/jasonstockton/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:808:24)
    at /Users/jasonstockton/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:834:30
    at Promise.when (/Users/jasonstockton/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:1079:31)
    at Promise.promise.promiseDispatch (/Users/jasonstockton/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:752:41)
    at /Users/jasonstockton/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:574:44
    at flush (/Users/jasonstockton/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:108:17)
    at process._tickCallback (node.js:415:13)

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

在你继续给我“你需要添加路径”的回复之前。我已经做到了(因此我为什么会失去理智)。

我的.bash_profile看起来像这样......

export PATH=/usr/local/bin:$PATH
export PATH=${PATH}:/Development/adt-bundle-mac/sdk/platform-tools:/Development/adt-bundle-mac/sdk/tools
export PATH=/Applications/MAMP/bin/php/php5.5.3/bin:$PATH

注意第二行是平台工具。我也试过把其他物品拿出去,没有运气。我在每次更新后调用source~ / .bash_profile - 也重启终端和计算机没有运气。

为了保持谨慎,我检查了文件是否全部通过终端只是因为不可能发生的事情并且Finder在说谎目录。文件似乎都在那里......

Jasons-MacBook-Pro:~ jasonstockton$ cd Development/adt-bundle-mac/sdk/platform-tools
Jasons-MacBook-Pro:platform-tools jasonstockton$ ls
NOTICE.txt      adb         api         fastboot        source.properties   systrace
Jasons-MacBook-Pro:platform-tools jasonstockton$ cd 
Jasons-MacBook-Pro:~ jasonstockton$ cd Development/adt-bundle-mac/sdk/tools
Jasons-MacBook-Pro:tools jasonstockton$ ls
Jet         apps            emulator-arm        emulator64-x86      lib         proguard        traceview
NOTICE.txt      ddms            emulator-mips       etc1tool        lint            source.properties   uiautomatorviewer
adb_has_moved.txt   dmtracedump     emulator-x86        hierarchyviewer     mksdcard        sqlite3         zipalign
android         draw9patch      emulator64-arm      hprof-conv      monitor         support
ant         emulator        emulator64-mips     jobb            monkeyrunner        templates

然后我保留了谷歌搜索并找到了另一条建议,建议更新.profile文件。我的.profile文件看起来像这样......

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

仍然得到同样的错误。我尝试在其他应用程序上运行调用但仍然遇到问题。

我在其他地方读到了调用set以查看它是否实际已经设置...这就是我的设置路径看起来像......

PATH=/Applications/MAMP/bin/php/php5.5.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Development/adt-bundle-mac/sdk/platform-tools:/Development/adt-bundle-mac/sdk/tools

如果有人能够对我可能做错的事情有所了解,这将是惊人的!我迷失了,很困惑。该应用程序已准备好iOS只是想为Android制作一个版本。应该是直截了当的......

预先感谢您的协助!

1 个答案:

答案 0 :(得分:1)

我正在根据你答案中的其他信息进行推断,但你添加了路径

/Development/adt-bundle-mac/sdk/platform-tools

稍后在命令行输出中显示您处于“〜”并cd到“Development / ...”。这意味着Development文件夹位于您的用户文件夹中。

如果是,那么您添加到PATH的目录不正确,因为它是从您的驱动器根开始的绝对路径。

尝试将bash个人资料片段的中间行更改为

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

或包含用户文件夹的绝对路径。

重新启动bash shell并通过在bash shell中输入“android”来检查android命令是否可用。

您还需要安装Ant和Java SDK,以确保在添加Android平台后可以构建项目。

您的Ant路径和Java编译器(javac)的位置也必须添加到PATH。

如果您使用Adobe的Cordova PhoneGap分发版,那么您可以使用PhoneGap Build云服务。这将构建适用于iOS,Android和Windows的应用程序,而无需设置任何特定于这些平台的本地SDK。还有一个可用的restful API,允许您从命令行调用构建功能。