在我的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"
}
]
}
发布于 2018-10-25 02:48:20
很高兴知道我不是唯一一个。这也发生在我身上。
我过去不得不使用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
。我不确定这是偶然还是预料之中的事。
发布于 2018-10-25 12:29:51
我也有同样的问题,我已经安装了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
),emmm...and它起作用了!
发布于 2018-10-25 22:46:18
如果你不想尝试你的插件或BRass支持的版本,我将留下一个不同的解决方案。
当我们尝试构建我们的应用程序时,我们遇到了完全相同的错误,并通过在after_platform_add
上添加一个脚本挂钩来重新排序build.gradle
文件中的存储库列表,从而解决了这个问题,这样项目就可以在不同的位置查找.aar。
// 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');
}
}
https://stackoverflow.com/questions/52974685
复制相似问题