J'essaie de faire mon premier react-native run-Android
mais j'obtiens l'erreur suivante:
ECHEC: La construction a échoué avec une exception.
Impossible de résoudre tous les fichiers pour la configuration ': classpath' . Impossible de résoudre com.Android.tools.build:gradle:3.1.4. Requis par: projet: Impossible de résoudre com.Android.tools.build:gradle:3.1.4. Impossible d'obtenir la ressource ' https://jcenter.bintray.com/com/Android/tools/build/gradle/3.1.4/gradle-3.1.4.pom ' . Impossible d'obtenir ' https://jcenter.bintray.com/com/Android/tools/build/gradle/3.1.4/gradle-3.1.4.pom ' . Java.lang.RuntimeException: erreur inattendue: Java.security.InvalidAlgorithmParameterException: le paramètre trustAnchors doit être non vide Impossible de résoudre com.Android.tools.build:gradle:3.1.4. Impossible d'obtenir la ressource ' https://dl.google.com/dl/Android/maven2/com/Android/tools/build/gradle/3.1.4/gradle-3.1.4.pom ' .. .. . Impossible de se procurer ' https://dl.google.com/dl/Android/maven2/com/Android/tools/build/gradle/3.1.4/gradle-3.1.4.pom ' ..... Java.lang.RuntimeException: erreur inattendue: Java.security.InvalidAlgorithmParameterException: le paramètre trustAnchors doit être non vide.
Mon fichier build.gradle est le suivant:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext {
buildToolsVersion = "27.0.3"
minSdkVersion = 16
compileSdkVersion = 27
targetSdkVersion = 26
supportLibVersion = "27.1.1"
}
repositories {
// mavenCentral()
google()
// maven {
// url "https://maven.google.com"
// }
jcenter()
}
dependencies {
classpath 'com.Android.tools.build:gradle:3.1.4'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
mavenLocal()
google()
jcenter()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/Android"
}
}
}
task wrapper(type: Wrapper) {
gradleVersion = '4.4'
distributionUrl = distributionUrl.replace("bin", "all")
}
Comme vous pouvez le voir sur les lignes commentées, j’ai essayé plusieurs combinaisons en fonction de réponses précédentes ici
Le dénominateur commun de chaque message d'erreur est le
Java.lang.RuntimeException: erreur inattendue: Java.security.InvalidAlgorithmParameterException: les trustAnchors paramètre doit être non vide
J'ai aussi essayé cd Android/&& gradlew clean, et j'ai aussi essayé de changer les versions de gradle en classpath. Tous avec le même résultat.
Aucune suggestion?
En fait, j'ai réussi à surmonter mon problème en désinstallant et en réinstallant tout (jdk Java, react-native-cli, Android-studio, gardien).
C’était probablement un problème lié à Java, car lors de ma première configuration native de Rea-native, j’avais installé par erreur Java-jdk-11, qui n’est pas compatible avec Android sdk, et que Java-jdk-8 est nécessaire à la place de (comme mentionné ici , par exemple). Mais lorsque j'ai rétrogradé jdk-8 avec tous les autres éléments déjà installés, cela ne fonctionnait pas, en raison d'un problème lié à la certification, que je ne pouvais pas résoudre comme suggéré ailleurs .
J'ai donc pris un nouveau départ, après avoir tout désinstallé, à partir de Java-jdk-8, puis react-native-cli, et tout le reste, comme indiqué dans le guide de démarrage rapide de rea-native . Ensuite, cela a fonctionné, sans aucune modification du fichier build.gradle.
Il est regrettable que le guide officiel indique: ". Téléchargez et installez Oracle JDK 8 ou plus récent si nécessaire. Vous pouvez également utiliser OpenJDK 8 ou plus récent comme alternative", ce qui semble , n'est pas le cas.
Couru dans ce moi-même.
Les documents de démarrage sur Android ne sont pas tout à fait corrects.
Au lieu d'installer Android 8.0 & SDK Platform 26.0.3, choisissez Android 8.1 & 27.0.3
Notez que ceci est pour React-Native 0.57.3
Ok je suis tombé sur cette erreur et j'ai pu le résoudre, je ne sais pas si c'est la bonne façon, mais ça a résolu mon problème.
votre application/build.gradle devrait ressembler à ceci !!
Android {
compileSdkVersion 27
buildToolsVersion '27.0.3'
defaultConfig {
...
minSdkVersion 16
targetSdkVersion 27
versionCode 1
versionName "1.0"
ndk {
abiFilters "armeabi-v7a", "x86"
}
}
}
dependencies {
...
compile "com.Android.support:appcompat-v7:27.1.0"
.....
}