I'm trying to add the android platform however this is the error message I keep getting
C:\Users\Xavier\Desktop\Mtek_DM\Mtek>cordova -d platform add android
cordova library for "android" already exists. No need to download.
Continuing. Checking if platform "android" passes minimum
requirements... Creating android project... Running command:
C:\Users\Xavier.cordova\lib\android\cordova\3.5.1\bin\create.b at
--cli C:\Users\Xavier\Desktop\Mtek_DM\Mtek\platforms\android org.xtek.Mtek Mt ek
C:\Users\Xavier.cordova\lib\android\cordova\3.5.1\bin\node_modules\q\q.js:126
throw e;
^ Error: An error occurred while listing Android targets
at C:\Users\Xavier.cordova\lib\android\cordova\3.5.1\bin\lib\check_reqs.js:
87:29
at _rejected (C:\Users\Xavier.cordova\lib\android\cordova\3.5.1\bin\node_mo
dules\q\q.js:808:24)
at C:\Users\Xavier.cordova\lib\android\cordova\3.5.1\bin\node_modules\q\q.j
s:834:30
at Promise.when (C:\Users\Xavier.cordova\lib\android\cordova\3.5.1\bin\node
_modules\q\q.js:1079:31)
at Promise.promise.promiseDispatch (C:\Users\Xavier.cordova\lib\android\cor
dova\3.5.1\bin\node_modules\q\q.js:752:41)
at C:\Users\Xavier.cordova\lib\android\cordova\3.5.1\bin\node_modules\q\q.j
s:574:44
at flush (C:\Users\Xavier.cordova\lib\android\cordova\3.5.1\bin\node_module
s\q\q.js:108:17)
at process._tickCallback (node.js:415:13) Command finished with error code 8: C:\Users\Xavier.cordova\lib\android\cordova
\3.5.1\bin\create.bat
--cli,C:\Users\Xavier\Desktop\Mtek_DM\Mtek\platforms\andro id,org.xtek.Mtek,Mtek Error:
C:\Users\Xavier.cordova\lib\android\cordova\3.5.1\bin\create.bat:
Comman d failed with exit code 8
at ChildProcess.whenDone (C:\Users\Xavier\AppData\Roaming\npm\node_modules\c
ordova\node_modules\cordova-lib\src\cordova\superspawn.js:135: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)
Furthermore, I created my System environments at
ANDROID_HOME =C:\Users\Xavier\Desktop\Android\sdk\platform-tools
ANT_HOME = C:\Users\Xavier\Desktop\Android\apache_ant1.9.4 JAVA_HOME =
C:\Program Files\Java\jdk1.7.0_21
And linked them under my variable PATH as
C:\Users\Xavier\AppData\Roaming\npm;%ANT_HOME%/bin;%ANDROID_HOME%/tools;%ANDROID_HOME%/platform-tools;%JAVA_HOME%/bin
Am I missing something? because when I typein java in the command line it works but for ant i get "buildfile: build.xml does not exist! build fail"
ANDROID_HOME should point to \sdk, not \sdk\platform-tools\. This is because the build system uses things in both platform-tools and tools folders. Change that and try again in a new terminal window please.
Related
I'm using Ubuntu 14.04. I'm following the steps given in http://chrislarson.me/blog/how-use-cordova-ubuntu-build-android-apps.html
to build my first app for Android on Ubuntu.
But when I run this: cordova platform add android, I get the following message on the terminal:
Error: EACCES, open
'/home/a/.cordova/lib/npm_cache/cordova-android/3.6.4/package/.npmignore'
If i try running sudo cordova platform add android, I get
Creating android project...
/home/a/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/node_modules/q/q.js:126
throw e;
^
Error: ANDROID_HOME is not set and "android" command not in your PATH. You must fulfill at least one of these conditions.
at /home/a/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/lib/check_reqs.js:159:19
at _fulfilled (/home/a/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/node_modules/q/q.js:798:54)
at self.promiseDispatch.done (/home/a/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/node_modules/q/q.js:827:30)
at Promise.promise.promiseDispatch (/home/a/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/node_modules/q/q.js:760:13)
at /home/a/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/node_modules/q/q.js:821:14
at flush (/home/a/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/node_modules/q/q.js:108:17)
at process._tickCallback (node.js:442:13)
at Function.Module.runMain (module.js:499:11)
at startup (node.js:119:16)
at node.js:929:3
Error: /home/a/.cordova/lib/npm_cache/cordova-android/3.6.4/package/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:135:23)
at ChildProcess.emit (events.js:98:17)
at maybeClose (child_process.js:766:16)
at Process.ChildProcess._handle.onexit (child_process.js:833:5)
try deleting the contents of
.cordova/lib/npm_cache/cordova-android/
and then try again.
cordova / npm cache cordova-android files deleting these will ensure a clean install.
first check your android path by echo $ANDROID_HOME
then if it is showing path then you have set ANDROID_HOME path correctly and
if not then do this
1) sudo gedit ~/.bashrc
2) then paste following path at the last of file save it and close.
export ANDROID_HOME=your_sdk_path/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
your first error is permission issue and second because ANDROID_HOME path not set correctly
with the help of the phonegap docs( http://cordova.apache.org/docs/en/3.5.0//guide_cli_index.md.html), i installed node.js, git client and cordova 3.5.0 successfully.
And also i am able to install windows8 and wp8.
But when installing android, i am getting the following error:
C:\Users\rajkiranb\hello>cordova platform add android
Creating android project...
C:\Users\rajkiranb\.cordova\lib\android\cordova\3.5.0\bin\node_modules\q\q.js:12
6
throw e;
^
Error: An error occurred while listing Android targets
at C:\Users\rajkiranb\.cordova\lib\android\cordova\3.5.0\bin\lib\check_reqs.
js:87:29
at _rejected (C:\Users\rajkiranb\.cordova\lib\android\cordova\3.5.0\bin\node
_modules\q\q.js:808:24)
at C:\Users\rajkiranb\.cordova\lib\android\cordova\3.5.0\bin\node_modules\q\
q.js:834:30
at Promise.when (C:\Users\rajkiranb\.cordova\lib\android\cordova\3.5.0\bin\n
ode_modules\q\q.js:1079:31)
at Promise.promise.promiseDispatch (C:\Users\rajkiranb\.cordova\lib\android\
cordova\3.5.0\bin\node_modules\q\q.js:752:41)
at C:\Users\rajkiranb\.cordova\lib\android\cordova\3.5.0\bin\node_modules\q\
q.js:574:44
at flush (C:\Users\rajkiranb\.cordova\lib\android\cordova\3.5.0\bin\node_mod
ules\q\q.js:108:17)
at process._tickCallback (node.js:419:13)
Error: C:\Users\rajkiranb\.cordova\lib\android\cordova\3.5.0\bin\create.bat: Com
mand failed with exit code 8
at ChildProcess.whenDone (C:\Users\rajkiranb\AppData\Roaming\npm\node_module
s\cordova\node_modules\cordova-lib\src\cordova\superspawn.js:135:23)
at ChildProcess.emit (events.js:98:17)
at maybeClose (child_process.js:756:16)
at Process.ChildProcess._handle.onexit (child_process.js:823:5)
In Computer -> C -> Environment variables..
In user variables and system variables, i added ANT.
ANT_HOME = C:\Program Files (x86)\WinAnt
But no luck.
Please help me out.
Add this directly to your path varible
C:\Users\rajkiranb\android\adt-bundle-windows-x86_64-20140321\sdk\platform-tools;C:\Users\rajkiranb\android\adt-bundle-windows-x86_64-20140321\sdk\tools
See the second one is tools not build-tools
Check whether you have ANDROID_HOME system variable set to android sdk location
I am trying to create a phonegap app, but each time I try to add a platform I get this error:
Creating a new cordova project with name "HelloWorld" and id "com.mc2now.hello" at location "/Users/tony/Desktop/eclipse/eclipse"
imac-6:eclipse tony$ cd eclipse
imac-6:eclipse tony$ cordova platform add android
Creating android project...
/Users/tony/.cordova/lib/android/cordova/3.4.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/tony/.cordova/lib/android/cordova/3.4.0/bin/lib/check_reqs.js:85:29
at _rejected (/Users/tony/.cordova/lib/android/cordova/3.4.0/bin/node_modules/q/q.js:808:24)
at /Users/tony/.cordova/lib/android/cordova/3.4.0/bin/node_modules/q/q.js:834:30
at Promise.when (/Users/tony/.cordova/lib/android/cordova/3.4.0/bin/node_modules/q/q.js:1079:31)
at Promise.promise.promiseDispatch (/Users/tony/.cordova/lib/android/cordova/3.4.0/bin/node_modules/q/q.js:752:41)
at /Users/tony/.cordova/lib/android/cordova/3.4.0/bin/node_modules/q/q.js:574:44
at flush (/Users/tony/.cordova/lib/android/cordova/3.4.0/bin/node_modules/q/q.js:108:17)
at process._tickCallback (node.js:415:13)
Error: /Users/tony/.cordova/lib/android/cordova/3.4.0/bin/create: Command failed with exit code 8
at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/src/superspawn.js:112: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)
so, my question is how to add android to my path? I have tried this:
imac-6:eclipse tony$ export PATH=${PATH}:adt-bundle/sdk/platform-tools:/adt-bundle/sdk/tools
can someone please explain what I am doing wrong? Any help is much appreciated!
I had the same problem and it appeared to be permission problems in the installed adt-bundle.
the following fixed it for me:
$ sudo chown -R $(whoami) /Development/adt-bundle
Try going to your user directory cd ~/ and edit .bash_profile then add export PATH=${PATH}:adt-bundle/sdk/platform-tools:/adt-bundle/sdk/tools to that file.
Save, close the terminal and start it up again.
I had the same error on my linux box.
I fixed putting android sdk "tools" subdir in my system PATH env variable.
For example:
export PATH="/opt/android/adt-bundle-linux-x86_64-20140321/sdk/tools:$PATH"
You should also include "platform-tools" subdir.
I tried to add the android platform by:
$ cordova platform add android
I get that out:
Creating android project...
/usr/local/lib/node_modules/cordova/node_modules/q/q.js:126
throw e;
^
Error: An error occured during creation of android sub-project.
/Users/jannisportmann/.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/jannisportmann/.cordova/lib/android/cordova/3.3.0/bin/lib/check_reqs.js:85:29
at _rejected (/Users/jannisportmann/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:808:24)
at /Users/jannisportmann/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:834:30
at Promise.when (/Users/jannisportmann/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:1079:31)
at Promise.promise.promiseDispatch (/Users/jannisportmann/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:752:41)
at /Users/jannisportmann/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:574:44
at flush (/Users/jannisportmann/.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: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)
I specified the SDK's path in the .bash_profile, is there something more I need to do?
Thanks for answers!
I fixed it!! First you have to add android tools and platform tools to your PATH...
So open your user profile ( in terminal type:)
nano ~/.profile
PATH=$PATH:/YOUR_ADT_FOLDER/sdk/platform-tools:/YOUR_ADT_FOLDER/sdk/tools
export PATH
Save it and type on terminal:
. ~/.profile
Now try to add your cordova platform, if it not works try to install apache ant. I'm using elementary os, so I opened the software center, searched for ant e install it. After it see if 'ant' is on your terminal and then add your platform.
For OSX your path needs to include /Users/yourusername
their example: /Development/adt-bundle/sdk/platform-tools
needs to be: /Users/yourusername/Development/adt-bundle/sdk/platform-tools
check your path with echo $PATH (use caps, it's case sensitive!)
this is documentation Phonegab docs for setup .bash_profile(mac),bashrc(linux), or windows
and my .bash_profile:
export PATH=${PATH}:$HOME/Development/adt-bundle-mac-x86_64-20140321/sdk/platform-tools:$HOME/Development/adt-bundle-mac-x86_64-20140321/sdk/tools
visit the solution here
I hope this helps you
Try,
cordova platform add android
So I've been trying for a few days to add the android platform to my project but I keep getting this response in terminal. (Using OSX, Phonegap 3.3.0)
Creating android project...
/usr/local/lib/node_modules/cordova/node_modules/q/q.js:126
throw e;
^
Error: An error occured during creation of android sub-project.
/Users/XerxesNoble/.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/XerxesNoble/.cordova/lib/android/cordova/3.3.0/bin/lib/check_reqs.js:85:29
at _rejected (/Users/XerxesNoble/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:808:24)
at /Users/XerxesNoble/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:834:30
at Promise.when (/Users/XerxesNoble/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:1079:31)
at Promise.promise.promiseDispatch (/Users/XerxesNoble/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:752:41)
at /Users/XerxesNoble/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:574:44
at flush (/Users/XerxesNoble/.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: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)
I've made sure to install the SDK from developer.android and I have set my .bash-profile $PATH to:
export PATH=${PATH}:Android/sdk/platform-tools:Android/sdk/tools
At this point I'm really not sure what else I can do to trouble shoot the problem.
Any help would be much appreciated!
This error because Android is not defined to your machine, this means that your paths are not right, so all you have to do is to update bash profile file with corresponding paths.
I think that PATH=${PATH}:Android/sdk/platform-tools:Android/sdk/tools is not right, it should be absolute path to these folders.
something like:
export PATH=/Users/your_user/adt-bundle-mac-x86_64-20130522/sdk/tools/:/Users/your_user/adt-bundle-mac-x86_64-20130522/sdk/platform-tools/:$PATH