2016-12-02 1 views
1

Je n'arrive pas à utiliser Gradle avec OpenJDK 1.9.Utiliser Gradle avec OpenJDK 1.9

Quand je lance la commande suivante:

react-native run-android 

Je finissent par obtenir cette erreur.

Starting JS server... 
Building and installing the app on the device (cd android && ./gradlew installDebug)... 

FAILURE: Build failed with an exception. 

* What went wrong: 
Could not determine java version from '9-internal'. 

exécution java -version me montre:

openjdk version "9-internal" 
OpenJDK Runtime Environment (build 9-internal+0-2016-04-14-195246.buildd.src) 
OpenJDK 64-Bit Server VM (build 9-internal+0-2016-04-14-195246.buildd.src, mixed mode) 

Toute idée comment je peux résoudre ce problème?

Répondre

1

Quelle version de gradle utilisez-vous?

cd android 
./gradlew -version 

Je pense qu'il y avait un bug pour déterminer les versions Java 1.9 qui a été fixé dans Gradle 2.10.

Une autre option est d'essayer une usurpation d'identité java.version que Gradle peut analyser

export JAVA_TOOL_OPTIONS='-Djava.version=1.9' 
react-native run-android 

@see JavaVersion.java et JavaVersionSpec.groovy

1

Cela semble être une incompatibilité avec votre version de OpenJDK 9 et Gradle.

Votre version OpenJDK est:

openjdk version "9-internal" 

Et il semble Gradle ne peut l'analyser:

Could not determine java version from '9-internal'. 

On dirait gradle est prepared to accept 9-ea, but not 9-internal. Vous devrez modifier votre build d'OpenJDK pour qu'il renvoie "9-ea" ou quelque chose de similaire pour java -version.

Les options de configuration suivantes lors de la construction OpenJDK 9 devrait faire l'affaire:

configure \ 
    --with-version-pre="ea" \ 
    --with-version-opt="" \ 
    ... your other options ... 
1

J'ai eu exactement le même problème et, dans mon cas, cela a fonctionné en enlevant OpenJDK:

sudo rm /var/lib/dpkg/info/openjdk-* 
sudo apt-get purge openjdk-* 
sudo rm /etc/apt/sources.list.d/*java* 
sudo apt-get update 

et l'installation de Oracle Java SDK:

sudo add-apt-repository ppa:webupd8team/java 
sudo apt-get update 
sudo apt-get install oracle-java8-installer 
sudo apt-get install oracle-java8-set-default 

Je sais que ce n'est pas la réponse exacte (en utilisant Gradle w OpenJDK 1.9), mais j'ai réussi à continuer et exécuter l'application à la fois dans un appareil virtuel et dans mon smartphone. J'espère que cela aide.

Note: Je courais react-native: 0.40.0 et react-native-cli: 2.0.1 dans Ubuntu 16.04