一、 Groovy 配置abi
传统上我们会使用groovy
语言的配置文件build.gradle
来配置:
在app级别的build.gradle中的 android > defaultConfig 添加子项
ndk {
abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
}
二、出现错误的代码
新版本的默认使用kotlin
语言的配置文件build.gradle.kt
来配置gradle:
相应地会想到使用下列代码来指定abi:
ndk {
abiFilters=arrayOf("armeabi", "armeabi-v7a", "arm64-v8a", "x86", "x86_64")
}
此时进行sync就会报错:
Val cannot be reassigned
Type mismatch. Required: MutableSet Found: Array
由此我们可以得出abiFilters
变量的定义类似于:
val abiFilters = mutableSetOf("armeabi-v8a")
既然如此,就可以得出最终解决方案了。
注意: armeabi
过时了,已经被弃用
[CXX1201] ABIs [armeabi] are not supported for platform. Supported ABIs are [arm64-v8a, armeabi-v7a, x86, x86_64].文章来源:https://www.toymoban.com/news/detail-822088.html
三、最终解决方案
ndk {
abiFilters.addAll(arrayOf("armeabi-v7a", "arm64-v8a", "x86", "x86_64"))
}
添加后重新sync就OK了。文章来源地址https://www.toymoban.com/news/detail-822088.html
到了这里,关于【Android】使用build.gradle.kt配置目标架构(abiFIlters)时报错 Val cannot be reassigned的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!