如何消除手动使用Android NDK构建APK/AAB时的32位原生库警告
警告触发原因
Gradle 内置的64位架构合规性检查默认校验每个构建输出包的原生库覆盖情况,不会区分你是否开启了按架构拆分产物的配置。你拆分出的armeabi-v7a架构包本身确实只需要包含32位库,但检查逻辑没有适配拆分场景,检测到单个包里只有32位库时就会直接抛出警告,属于误报,不会影响你实际产物的合规性,只要你确实同时生成了arm64-v8a架构的产物,就完全符合Google Play的上架要求。
消除警告的两种方案
方案一(推荐):显式声明全量支持的ABI,让Gradle识别到你已经覆盖了32位和64位架构要求,不会禁用其他合规性检查。
在app模块的build.gradle中添加如下配置:android { defaultConfig { ndk { // 同时配置32位和64位的目标ABI abiFilters 'armeabi-v7a', 'arm64-v8a' } } }配置后不管是执行
gradlew build还是gradlew bundle命令,Gradle都会识别到项目同时支持两类架构,不会再对单独拆分出的32位包触发误报。方案二:直接禁用对应的64位缺失检查,仅在你确认自己的架构配置完全符合要求时使用。
在app模块的build.gradle中添加如下配置:android { lint { // 低版本Gradle请替换为lintOptions块 disable 'Missing64BitArchitecture' } }
内容的提问来源于stack exchange,提问作者Andreas
相关产品推荐
相关产品推荐

