我的Ionic应用程序存在一个奇怪的问题,我昨天能够很好地构建,但是在一个构建中,它下载了很多文件,就像构建android时一样,然后出现以下错误:
找不到support-vector-drawable.aar(com.android.support:support-vector-drawable:27.1.1)。 在以下位置搜索: https://jcenter.bintray.com/com/android/support/support-vector-drawable/27.1.1/support-vector-drawable-27.1.1.aar
点击链接https://jcenter.bintray.com/com/android/support/support-vector-drawable/27.1.1/support-vector-drawable-27.1.1.aar
时,页面具有以下JSON:
{
"errors": [
{
"status": 404,
"message": "Could not find resource"
}
]
}
答案 0 :(得分:7)
很高兴知道我不是唯一的一个。这也发生在我身上。
过去,我不得不使用cordova-android-support-gradle-release
插件来处理与利用不同版本的android支持库的不同插件产生的冲突。我一直在使用27.+
版的Cordova插件。将其更改为强制版本27.1.0
可以帮助我重新构建工作。 (添加该插件的命令在下面)。
cordova plugin add cordova-android-support-gradle-release --variable ANDROID_SUPPORT_VERSION=27.1.0
很高兴知道今天为什么丢失了此27.1.1文件,它将允许继续使用27. +。但是,希望这会让您再次运行。
---- 2019年2月6日更新:----
过去4个月,我的项目已解决此问题。然后今天又回来了。由于某些原因,cordova-android-support-gradle-release
.gradle文件没有被添加到构建中(即使其他文件也添加了)。我按照@Moofish的回答进行操作,然后删除/重新安装了该插件(再次位于27.1.0)。然后构建再次开始工作。对我来说,确实将cordova-android-support-gradle-release
插件从@1.4.4
升级到@2.0.1
。不知道这是a幸还是可预测的事情。
答案 1 :(得分:1)
我遇到了同样的问题,并且已经安装了cordova-android-support-gradle-release插件,因此我删除了插件(ionic cordova plugin rmcordova-android-support-gradle-release
),然后再次安装了插件(cordova plugin add cordova-android-support-gradle-release --variable ANDROID_SUPPORT_VERSION=27.1.0
),嗯...而且有效!
答案 2 :(得分:1)
尝试将平台和app / build.gradle中的build.gradle更改为:
{
mavenCentral()
google() // Add this
jcenter()
maven {
url "https://maven.google.com"
}
}
答案 3 :(得分:1)
如果您不想使用您的插件或Android支持版本,我将与BRass'保留其他解决方案。
我们在尝试构建应用时遇到了完全相同的错误,并通过在after_platform_add
上添加脚本钩子来重新排序build.gradle
文件中的存储库列表来解决它,因此项目寻找了。不在另一个地方。
// Add <hook src="path/to/after_platform_add.js" type="after_platform_add" /> to your config.xml
var fs = require('fs');
module.exports = function(ctx) {
var gradlePath = './platforms/android/build.gradle';
var gradleFile = fs.readFileSync(gradlePath, 'ascii');
if (ctx.opts.platforms[0].indexOf('android') !== -1) {
gradleArray = gradleFile.split('\n');
for (var i = 0; i < gradleArray.length; i++) {
if (gradleArray[i].includes('jcenter()') && gradleArray[i + 1].includes('maven')) {
var jcenter = gradleArray.splice(i, 1)[0];
gradleArray.splice(i + 3, 0, jcenter);
}
}
gradleFile = gradleArray.join('\n');
fs.writeFileSync(gradlePath, gradleFile);
console.log('Reordered repositories');
}
}