Je crée une version APK en utilisant les versions suivantes:
Quand je lance le
ionic cordova build Android --prod --release
Je reçois l'erreur suivante.
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring project ':CordovaLib'.
> Could not resolve all files for configuration ':CordovaLib:classpath'.
> Could not find intellij-core.jar (com.Android.tools.external.com-intellij:intellij-core:26.0.1).
Searched in the following locations:
https://jcenter.bintray.com/com/Android/tools/external/com-intellij/intellij-core/26.0.1/intellij-core-26.0.1.jar
Lorsque je place l'URL "intellij-core-26.0.1" dans le navigateur, son statut d'affichage est 404.
N'importe qui, s'il vous plaît suggérer
On dirait que le problème a commencé tôt aujourd'hui.
Il y a quelques choses qui pourraient fonctionner:
La démarche qui a fonctionné pour moi a été:
Éditez "\ plates-formes\Android\CordovaLib\build.gradle" à la place de "\ plates-formes\Android\build.gradle" et mettez jcenter () après maven… tel que posté ici
repositories {
maven {
url "https://maven.google.com"
}
jcenter()
}
Tu peux essayer:
Éditez 'plates-formes/Android/build.gradle', vous pouvez voir plus ici , comme indiqué par 'netexpo', ici , sur le forum Ionic.
allprojects {
repositories {
mavenCentral()
maven {
url "https://maven.google.com"
}
jcenter()
}
}
Un autre:
Publié par MeterMoDev ici
A pu construire aussi bien mais a fait ce qui suit:
Fermé Android Studio a également été fermé VS . Suppression de la plateforme Android . Ajoutez à nouveau la plateforme Android . Avant d'exécuter toute construction, ouvrez le fichier\platform\Android\build.gradle, modifiez les référentiels tels que recommandé par @netexpo, puis enregistrez le fichier. Ouvrez votre projet dans Android Studio attendu pour studio faire synchroniser le fichier de dégradé, il a téléchargé quelques éléments. Une fois le processus de synchronisation terminé, le fichier a été créé.
repositories {
mavenCentral()
maven {
url "https://maven.google.com"
}
jcenter()
}
plate-forme ionique cordova supprimer Android
plate-forme ionique cordova ajouter [email protected]
Aller au platforms/Android/build.gradle
Change ça:
jcenter()
maven {
url "https://maven.google.com"
}
à
maven {
url "https://maven.google.com"
}
jcenter() //Just move this line
Suite à la suggestion de Ruben Sala, cela n’a pas fonctionné pour moi. Cependant, si vous éditez platforms/Android/CordovaLib/build.gradle
et appliquez le même correctif que celui suggéré par Ruben, c'est le cas.
C'est à dire. changement:
repositories {
jcenter()
maven {
url "https://maven.google.com"
}
}
À:
repositories {
maven {
url "https://maven.google.com"
}
jcenter()
}
Modification de la section buildscript dans plates-formes\Android\CordovaLib\build.gradle à partir de
repositories {
jcenter()
maven {
url "https://maven.google.com"
}
}
à
repositories {
google()
jcenter()
}
résolu le problème pour moi. CLI et AS construisent bien maintenant.
Si quelqu'un a des problèmes dans CI (Jenkins/Travis) au lieu de faire des modifications manuelles à chaque fois que la construction du crochet peut être pratique ????
créer un fichier à config\before_compile_Android.js
module.exports = function(ctx) {
'use strict';
var fs = ctx.requireCordovaModule('fs'),
path = ctx.requireCordovaModule('path'),
deferral = ctx.requireCordovaModule('q').defer(),
async = require('async');
var platformRoot = path.join(ctx.opts.projectRoot, 'platforms/Android');
var gradleFiles = [path.join(platformRoot, 'build.gradle'), path.join(platformRoot, 'CordovaLib', 'build.gradle')];
async.each(gradleFiles, function(f, cb) {
fs.readFile(f, 'utf8', function(err, data) {
if (err) {
cb(err);
return;
}
var result = data;
if (data.indexOf("maven.google.com") >= 0) {
console.log("Mirror already present in gradle file.\nSkipping...");
}else{
result = data.replace(/jcenter\(\)/g, 'maven{url "https://maven.google.com"}\njcenter()');
}
fs.writeFile(f, result, 'utf8', cb);
});
}, function(err) {
if (err) {
deferral.reject();
} else {
deferral.resolve();
}
});
return deferral.promise;
}
et dans config.xml
configurez-le pour before_compile
<platform name="Android">
<hook src="config/before_compile_Android.js" type="before_compile" />
...
p.s. Je n'ai pas écrit le script en entier mais je l'ai modifié pour résoudre ce problème.
Je l'ai corrigé en modifiant le fichier\plateformes\Android\build.gradle (ligne 39): // Autorise les plugins à déclarer des dépendances Maven via build-extras.gradle.
allprojects {
repositories {
mavenCentral()
maven {
url "https://maven.google.com"
}
jcenter()
}
}