我正在使用以下版本创建发行版APK: 节点-8.12.0 摇篮-4.10.2 离子CLI-4.0.5 科尔多瓦-8.0.0
当我运行
ionic cordova build android --prod --release
我遇到以下错误。
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
当我在浏览器中放置“ intellij-core-26.0.1” URL时,其显示状态为404。
任何人,请提出
答案 0 :(得分:10)
ionic cordova平台删除android
ionic cordova平台添加android@7.0.0
答案 1 :(得分:7)
转到platforms/android/build.gradle
更改此:
jcenter()
maven {
url "https://maven.google.com"
}
到
maven {
url "https://maven.google.com"
}
jcenter() //Just move this line
答案 2 :(得分:7)
问题似乎从今天开始就出现了。
有一些可行的方法:
对我有用的步骤是:
编辑“ \ platforms \ android \ CordovaLib \ build.gradle ”,而不是“ \ platforms \ android \ build.gradle ”,然后将jcenter()放在maven后面……已发布here
repositories {
maven {
url "https://maven.google.com"
}
jcenter()
}
您可以尝试:
编辑' platforms / android / build.gradle ',您可以在Ionic论坛中看到更多here,如'netexpo'here所指出。< / p>
allprojects {
repositories {
mavenCentral()
maven {
url "https://maven.google.com"
}
jcenter()
}
}
另一个:
由MeterMoDev here
发布也可以构建,但执行以下操作:
已关闭Android Studio也已关闭VS。 删除了Android平台。 再次添加Android平台。 在运行任何版本之前,请打开\ platforms \ android \ build.gradle并编辑存储库(如推荐的@netexpo),然后保存文件。在Android Studio中打开您的项目,等待Studio完成gradle文件的同步,它下载了两个项目。同步过程完成后,文件已构建。
repositories {
mavenCentral()
maven {
url "https://maven.google.com"
}
jcenter()
}
答案 3 :(得分:6)
根据鲁宾·萨拉(Ruben Sala)的建议,这对我不起作用。但是,如果您编辑platforms/android/CordovaLib/build.gradle
,并应用Ruben建议的相同修补程序,则会这样做。
即更改:
repositories {
jcenter()
maven {
url "https://maven.google.com"
}
}
收件人:
repositories {
maven {
url "https://maven.google.com"
}
jcenter()
}
答案 4 :(得分:0)
从
更改platform \ android \ CordovaLib \ build.gradle中的buildscript部分repositories {
jcenter()
maven {
url "https://maven.google.com"
}
}
到
repositories {
google()
jcenter()
}
为我解决了这个问题。 CLI和AS现在可以正常运行。
答案 5 :(得分:0)
我通过编辑\ platforms \ android \ build.gradle文件(第39行)对此进行了修复: //允许插件通过build-extras.gradle声明Maven依赖项。
allprojects {
repositories {
mavenCentral()
maven {
url "https://maven.google.com"
}
jcenter()
}
}
答案 6 :(得分:0)
如果有人在CI(Jenkins / Travis)中遇到问题,而不是每次都可以方便地进行构建钩子
在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;
}
,然后在config.xml
中将其配置为before_compile
<platform name="android">
<hook src="config/before_compile_android.js" type="before_compile" />
...
p.s。。我尚未编写完整的脚本,但对其进行了修改以解决此问题
答案 7 :(得分:-1)
尝试
ionic cordova platform remove android
ionic cordova platform add android@latest
这对我来说最终奏效了。没有其他办法了
ps。它安装了android 7.1.4