2015-11-26 10 views
11

OpenSuse Leap 42.1でコードバでデバイス上のアプリケーションをエミュレートしようとしています。
しかし、私はcordova runでアプリをエミュレートしようとしたとき、私は以下のエラーが出ます:コードバスを使用してビルドすると無効なJAVA_HOME

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 -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 

[編集]ビューツリーとJavaのバージョンについて

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 

情報3つのレベル:

それは javacをチェックしているので
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 
+0

を、binフォルダがありません。 'jre'フォルダがあります。そしてその中には 'bin'と' lib'フォルダがあります。 –

+0

私はjre/binと何も指さない。同じエラーです。 –

答えて

7

よりも、私は削除して、すべてのJavaパッケージを再インストールして(「本能」の)1を追加します。
私は削除しました:
java-1_8_0-openjdk
java-1_8_0-openjdk-headlessjava-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 < < - を運良く私はメインフォルダ内のbinが表示されます

それを打ちます。 javacと別のもので。
ありがとう!

+1

本当に助かりました –

8

コルドバは、JDKないJREを必要とします。 check_reqs.js86を参照してください。あなたのコメントから「このパスの中にbinフォルダがありません」とJDKにはbinディレクトリが必要です。

+0

私はこの質問を '/ usr/lib64/jvm'のツリーで更新しました。本当にbinフォルダはありません。メインフォルダの名前は 'java-1.8.0-openjdk-1.8.0'です。 JDK。私は何か他のものをインストールする必要がありますか? –

6

あなたのパスは、この

PATH=$PATH:$ANDROID_HOME/bin:$JAVA_HOME/bin

ようにする必要があり、私の特定の場合には export PATH

+0

上記の最後のコメントをお読みになりましたか? –

+0

@RafaelSoufrazはい。 '$ JAVA_HOME/jre/bin'に' PATH'を指定していますが、 '$ JAVA_HOME/bin'を指すようにしてください –

+0

私の最初のコメントは赤でしたか? "このパスの中にbinフォルダはありません。" –

5

これは、Java-X_X_X-openjdkパッケージの誤解です。特に、Oracleの表記法をデフォルトにするときに使用します。

OpenJDKは、Javaプラットフォームのオープンソース実装のプロジェクトであり、実際にJavaで開発することを可能にするJDKパッケージではないため、混乱します。 (ここでは、より正確な情報:http://openjdk.java.net/install/index.html

TLDR:

  1. のjava-X_X_X-OpenJDKのは、OracleのJREと同等です。

  2. java-X_X_X-openjdk-develは、OracleのJDKに相当します。

0

... javaの& JDKをインストールし、アプリケーションをビルドして実行するには...

を試してみてください& JDKのインストールが私の問題を解決するJavaの確認、あなたがターゲットとする各プラットフォーム用の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 
関連する問題