Issue
I try to execute an application implemented using Ionic within the Genymotion Android emulator.
To create my application, I did the following:
$ ionic start myApp blank
$ ionic platform android
$ ionic run android
Notice that I executed the last command after having started a virtual terminal (Sony Xperia Z for example).
I have the following error:
Running command: /(...)/myApp/hooks/after_prepare/010_add_platform_class.js /(...)/myApp
add to body class: platform-android
Running command: /(...)/myApp/platforms/android/cordova/build
[Error: Failed to find 'ANDROID_HOME' environment variable. Try setting setting it manually.
Failed to find 'android' command in your 'PATH'. Try update your 'PATH' to include path to valid SDK directory.]
ERROR building one of the platforms: Error: /(...)/myApp/platforms/android/cordova/build: Command failed with exit code 2
You may not have the required environment or OS to build this project
Error: /(...)/myApp/platforms/android/cordova/build: Command failed with exit code 2
I don't understand why I need to have an ANDROID_HOME
set since it's not the thing I want to use...
I installed then an Android SDK and set the ANDROID_HOME environment variable:
export ANDROID_HOME=/home/(...)/android-sdk-linux/
Then I have the following error:
$ ionic run android
Running command: /(...)/myApp/hooks/after_prepare/010_add_platform_class.js /(...)/myApp
add to body class: platform-android
Running command: /(...)/myApp/platforms/android/cordova/run
ERROR: Error: Please install Android target: "android-22".
Hint: Open the SDK manager by running: /home/(...)/android-sdk-linux/tools/android
You will require:
1. "SDK Platform" for android-22
2. "Android SDK Platform-tools (latest)
3. "Android SDK Build-tools" (latest)
ERROR running one or more of the platforms: Error: /(...)/myApp/platforms/android/cordova/run: Command failed with exit code 2
You may not have the required environment or OS to run this project
What isn't clear to me is how to tell Cordova to use Genymotion instead of the default Android emulator...
For information, I installed ionic and cordava like this:
$ sudo npm install ionic -g
$ sudo npm install cordova -g
I'm working on Linux Mint 17 Qiana / Cinnamon 64-bit.
Thanks very much in advance for your help! Thierry
Solution
From the logs it doesn't look like a problem with the emulator/Genymotion but a problem with not having the Android SDK installed. Because of the licenses involved you typically need to install the Android SDK yourself.
This explains the error messages:
- It first looks for where the SDK is installed, which is indicated by
ANDROID_HOME
. It errors since it's initially unset. - Once it's set, it can't find the right SDKs (android-22, platform-tools, tools) since they're not installed.
Answered By - Dan Lew
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.