离子找不到support-vector-drawable.aar

时间:2018-10-24 17:18:33

标签: android cordova android-studio ionic-framework ionic3

我的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"
    }
  ]
}

4 个答案:

答案 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');
    }
}