OpenSuse Leap42.1のcordovaを使用してデバイス上のアプリをエミュレートしようとしています。
しかし、cordova run
を使用してアプリをエミュレートしようとすると、次のエラーが発生します。
cordova run
Running command: /home/soufraz/Projects/apps/myproject/platforms/Android/cordova/run
ERROR: Error: Failed to run "Java -version", make sure that you have a JDK installed.
You can get it from: http://www.Oracle.com/technetwork/Java/javase/downloads.
Your Java_HOME is invalid: /usr/lib64/jvm/Java-1.8.0-openjdk-1.8.0
ERROR running one or more of the platforms: Error: /home/soufraz/Projects/apps/myproject/platforms/Android/cordova/run: Command failed with exit code 2
You may not have the required environment or OS to run this project
Javaをインストールし、パスを~/.profile
に設定しました。
私の環境の構成エラーはどれですか?
私の.profile
の下:
Java_HOME=/usr/lib64/jvm/Java-1.8.0-openjdk-1.8.0
export Java_HOME
Android_HOME=/home/soufraz/Install/Android-sdk-linux
export Android_HOME
PATH=$PATH:$Android_HOME:$Java_HOME
Javaバージョン:
Java -version
openjdk version "1.8.0_60"
OpenJDK Runtime Environment (build 1.8.0_60-b27)
OpenJDK 64-Bit Server VM (build 25.60-b23, mixed mode)
そしてここにjvmフォルダのリストがあります:
ls -l
total 28
lrwxrwxrwx 1 root root 24 Nov 12 11:28 Java-1.7.0-openjdk -> Java-1.7.0-openjdk-1.7.0
drwxr-xr-x 1 root root 6 Nov 12 11:28 Java-1.7.0-openjdk-1.7.0
drwxr-xr-x 1 root root 6 Nov 11 17:26 Java-1.8.0-openjdk-1.8.0
lrwxrwxrwx 1 root root 21 Nov 11 17:26 jre -> /etc/alternatives/jre
lrwxrwxrwx 1 root root 27 Nov 12 11:28 jre-1.7.0 -> /etc/alternatives/jre_1.7.0
lrwxrwxrwx 1 root root 28 Nov 12 11:28 jre-1.7.0-openjdk -> Java-1.7.0-openjdk-1.7.0/jre
lrwxrwxrwx 1 root root 27 Nov 11 17:26 jre-1.8.0 -> /etc/alternatives/jre_1.8.0
lrwxrwxrwx 1 root root 28 Nov 11 17:26 jre-1.8.0-openjdk -> Java-1.8.0-openjdk-1.8.0/jre
lrwxrwxrwx 1 root root 29 Nov 11 17:26 jre-openjdk -> /etc/alternatives/jre_openjdk
[編集] 3つのレベルでツリーを表示します:
tree -L 3
.
├── Java-1.7.0-openjdk -> Java-1.7.0-openjdk-1.7.0
├── Java-1.7.0-openjdk-1.7.0
│ └── jre
│ ├── bin
│ └── lib
├── Java-1.8.0-openjdk-1.8.0
│ └── jre
│ ├── bin
│ └── lib
├── jre -> /etc/alternatives/jre
├── jre-1.7.0 -> /etc/alternatives/jre_1.7.0
├── jre-1.7.0-openjdk -> Java-1.7.0-openjdk-1.7.0/jre
├── jre-1.8.0 -> /etc/alternatives/jre_1.8.0
├── jre-1.8.0-openjdk -> Java-1.8.0-openjdk-1.8.0/jre
└── jre-openjdk -> /etc/alternatives/jre_openjdk
私の特定のケースでは、すべてのJavaパッケージを削除して再インストールし、1つ追加します( 'instinct'の場合):
私は削除しました:Java-1_8_0-openjdk
Java-1_8_0-openjdk-headless
Java-1_8_0-openjdk-plugin
そして追加:Java-1_8_0-openjdk
Java-1_8_0-openjdk-headless
Java-1_8_0-openjdk-plugin
Java-1_8_0-openjdk-devel
<< --幸運にも私はそれを打った
メインフォルダ内のビンが表示されます。 javacと他のもので。
君たちありがとう!
コルドバはJDK
をチェックしているため、JRE
ではなくjavac
が必要です。 check_reqs.js line 86
を参照してください。あなたのコメントから、あなたはJDK
に「このパスの中にbinフォルダはありません」と言っています。 bin
ディレクトリ!
あなたの道はこのようになるはずです
PATH=$PATH:$Android_HOME/bin:$Java_HOME/bin
そしてより export PATH
Java-X_X_X-openjdkパッケージでは少し誤解されています。特に、デフォルトのOracle表記に慣れている場合。
OpenJDKはJava Platformのオープンソース実装のプロジェクトであり、実際に許可するJDKパッケージではないため、JDKの部分は混乱しています。 Javaで開発します。(より正確な情報はこちら: http://openjdk.Java.net/install/index.html )
TLDR:
Java-X_X_X-openjdkは、OracleのJREに相当します。
Java-X_X_X-openjdk-develは、OracleのJDKに相当します。
Java&JDKのインストールで問題が解決しました。Java&JDKをインストールして試してください。
アプリをビルドして実行するには、ターゲットにするプラットフォームごとにSDKをインストールする必要があります。または、開発にブラウザを使用している場合は、プラットフォームSDKを必要としないブラウザプラットフォームを使用できます。
プラットフォームを構築するための要件を満たしているかどうかを確認するには:
$ cordova requirements
Requirements check results for Android:
Java JDK: installed .
Android SDK: installed
Android target: installed Android-19,Android-21,Android-22,Android-23,Google Inc.:Google APIs:19,Google Inc.:Google APIs (x86 System Image):19,Google Inc.:Google APIs:23
Gradle: installed
Requirements check results for ios:
Apple OS X: not installed
Cordova tooling for iOS requires Apple OS X
Error: Some of requirements check failed