Cordova:您可能没有运行此项目所需的环境或操作系统

时间:2015-04-18 18:48:42

标签: node.js cordova

在Linux Mint 17.1 x86_64上,Cordova v4.3.0给出了此错误:

$ cordova run android

Running command: /home/naman/test/platforms/android/cordova/run 
WARNING : No target specified, deploying to emulator
WARNING : no emulator specified, defaulting to Sample
Waiting for emulator...
Booting up emulator (this may take a while)....BOOT COMPLETE

/home/naman/test/platforms/android/cordova/node_modules/q/q.js:126
                throw e;
                      ^
Error: ENOENT, no such file or directory '/opt/software/android-sdk/tools/tools/lib/build.template'
    at Object.fs.openSync (fs.js:432:18)
    at Object.fs.readFileSync (fs.js:286:15)
    at /home/naman/test/platforms/android/cordova/lib/build.js:129:40
    at _fulfilled (/home/naman/test/platforms/android/cordova/node_modules/q/q.js:798:54)
    at self.promiseDispatch.done (/home/naman/test/platforms/android/cordova/node_modules/q/q.js:827:30)
    at Promise.promise.promiseDispatch (/home/naman/test/platforms/android/cordova/node_modules/q/q.js:760:13)
    at /home/naman/test/platforms/android/cordova/node_modules/q/q.js:574:44
    at flush (/home/naman/test/platforms/android/cordova/node_modules/q/q.js:108:17)
    at process._tickCallback (node.js:415:13)
ERROR running one or more of the platforms: Error: /home/naman/test/platforms/android/cordova/run: Command failed with exit code 8
You may not have the required environment or OS to run this project

PATH变量似乎没问题(SDK的路径是正确的):

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/software/android-sdk/tools:/opt/software/android-sdk/platform-tools

我用以下方法安装了它:

sudo apt-add-repository ppa:cordova-ubuntu/ppa
sudo apt-get update
sudo apt-get install cordova-cli
npm install -g cordova

安装顺利进行,项目创建没有任何错误。 我错过了一些依赖吗?

12 个答案:

答案 0 :(得分:18)

您可能需要卸载设备上的现有应用。

我在另一台计算机上安装了我的应用程序。当我运行You may not have the required environment or OS to run this project时,我得到了

adb

但是当我尝试通过for安装我的apk时,它告诉我应用程序已经安装。所以我卸载了它,它有效。

答案 1 :(得分:12)

对于遇到此问题的其他人,假设您已经使用@Naman Dixit的答案检查并修复了任何环境变量,您可能还需要删除并添加您的平台:

cmd:  cordova platform rm [platform(s) of interest]

删除[yourproject] / platforms文件夹中的所有内容。然后:

cmd:  cordova platform add [platform(s) of interest]

这是我需要让一切运转的最后一步

答案 2 :(得分:8)

确保您定义了适当的环境变量(在.bash_login.profile添加此内容并执行source .profile):

export ANDROID_SDK="/opt/software/android-sdk"
export ANDROID_NDK="/opt/software/android-ndk"
export ANDROID_HOME="$ANDROID_SDK"
export ANDROID_PLATFORM_TOOLS="$ANDROID_SDK/platform-tools"
export PATH="${PATH}:$ANDROID_HOME/tools:$ANDROID_PLATFORM_TOOLS"

答案 3 :(得分:3)

您的Android sdk似乎没有正确安装,或者您没有安装具有您似乎缺少的依赖项的正确的android sdk版本

/opt/software/android-sdk/tools/tools/lib/build.template

答案 4 :(得分:1)

我现在也遇到了这个问题。我的问题是我正在使用的ant.properties文件指向错误而不是现有文件。

key.store=D:/Fedmich/_keys/android.keystore

纠正后,我能够编译一个发布版apk。 希望这可以帮助将来的某个人。请务必阅读命令提示符中给出的error_logs。

答案 5 :(得分:1)

这只是为了在此处记录此错误的另一个原因以及仍在搜索解决方案的人。

当我遇到这个错误时,我尝试了stackoverflow上列出的几乎所有解决方案。

我的问题是我的设备未被adb检测到,adb kill-server/start-server也没有帮助我,***

  

但更改USB端口有帮助。

答案 6 :(得分:1)

我遇到了同样的错误 我的解决方案是潜在的。

  1. 命令adb设备 没结果......
  2. 安装usb drive for mobile(我的手机是lg g3)
  3. 重新启动并再次命令adb设备:结果设备显示。 然后再试一次 3.离子运行adnroid - 设备 “OK”;

答案 7 :(得分:0)

在没有互联网连接的情况下添加平台时会发生。

确保互联网正常并输入:

  

cordova平台删除blackberry10

     

cordova平台添加blackberry10

尝试构建并运行:

  

cordova run

希望这可以解决您的问题,也适用于其他平台

答案 8 :(得分:0)

安装Crosswalk plugin后出现此错误。为了解决这个问题,我安装了最新的Android SDK,在平台下删除了android文件夹并运行

phonegap build android

替代地

cordova platform add --save android

cordova build android

这一切都很好。

答案 9 :(得分:0)

构建android平台时遇到同样的错误,这里没有给出解决方案可以帮助我。 我决定运行cordova显示的gradlew命令,并看到cordova项目中包含的png文件存在问题。 删除后,我再次管理平台。

答案 10 :(得分:0)

export ANDROID_HOME=/Applications/adt-bundle-mac-x86_64-20140321/sdk
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

然后cordova运行android工作

答案 11 :(得分:0)

Ubuntu的

如果您在Ubuntu上遇到问题,可能需要尝试安装以下软件包per the docs

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386

may also need to install此套餐:

sudo apt-get install lib32z1