当前位置:   article > 正文

【Android】使用build.gradle.kt配置目标架构(abiFIlters)时报错 Val cannot be reassigned_ndk -》 abifilters mutableset 如何配置

ndk -》 abifilters mutableset 如何配置

一、 Groovy 配置abi

传统上我们会使用groovy语言的配置文件build.gradle来配置:
在app级别的build.gradle中的 android > defaultConfig 添加子项

ndk {
    abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
}
  • 1
  • 2
  • 3

二、出现错误的代码

新版本的默认使用kotlin语言的配置文件build.gradle.kt来配置gradle:
相应地会想到使用下列代码来指定abi:

ndk {
    abiFilters=arrayOf("armeabi", "armeabi-v7a", "arm64-v8a", "x86", "x86_64")
}
  • 1
  • 2
  • 3

此时进行sync就会报错:

Val cannot be reassigned
Type mismatch. Required: MutableSet Found: Array

由此我们可以得出abiFilters变量的定义类似于:

val abiFilters = mutableSetOf("armeabi-v8a")
  • 1

既然如此,就可以得出最终解决方案了。

注意: armeabi 过时了,已经被弃用

[CXX1201] ABIs [armeabi] are not supported for platform. Supported ABIs are [arm64-v8a, armeabi-v7a, x86, x86_64].

三、最终解决方案

ndk {
	abiFilters.addAll(arrayOf("armeabi-v7a", "arm64-v8a", "x86", "x86_64"))
}
  • 1
  • 2
  • 3

添加后重新sync就OK了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/293456
推荐阅读
相关标签
  

闽ICP备14008679号