zoukankan      html  css  js  c++  java
  • Android NDK: Application targets deprecated ABI(s): armeabi Open File

    Error:(81) Android NDK: Application targets deprecated ABI(s): armeabi
    Error:(82) Android NDK: Support for these ABIs will be removed in a future NDK release. 
    当项目中使用到ndk时可能会爆出这个错误,原因是Android NDK从r16 beta1开始,不再支持 ARM5 (armeabi)。默认情况下,Android NDK不会构建ARM5版本。如果在Application.mk配置了构建ARM5版本,会收到类似以上的警告。

    Android系统支持的CPU架构

    • ARMv5:armeabi,32位
    • ARMv7:armeabi-v7a,32位
    • x86:x86,32位
    • MIPS:mips,32位
    • ARMv8:arm64-v8a,64位
    • MIPS64:mips64,64位
    • x86_64:x86_64,64位

    解决方法如下:

    如果不需要支持ARM5,可以在APP_ABI列表里吧armeabi去掉。

    Application.mk配置APP_ABI

    Application.mk的参数APP_ABI用来配置Android系统支持的CPU架构。

    支持所有架构

    APP_ABI := all
    

    支持所有32位架构

    APP_ABI := all32
    

    支持指定的架构

    APP_ABI := armeabi,armeabi-v7a,x86,mips,arm64-v8a,mips64,x86_64
    

    多个架构使用逗号隔开。

    如果一定要用到armeabi,则在app/build.gradle文件下添加设置:

    android {
        defaultConfig {
    
            // ...
    
            ndk {
                abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a' // 'x86', 'x86_64' may be added
            }
       }
    
       // ...
    
        task ndkClean(type: Delete) {
            // remove unused archs from build cache
            delete fileTree('.externalNativeBuild') {
                exclude defaultConfig.ndk.abiFilters.collect { '**/' + it }
            }
        }
        tasks.findByPath(':clean').dependsOn ndkClean
    }
     重要的是红色字体,将你有的架构包(除armeabi之外的)加入,没有就创建,放入armeabi中相同的so包。
    (或者在Application.mk文件中设置APP_ABI:= armeabi armeabi-v7a)

    参考:https://majing.io/posts/10000004121193
  • 相关阅读:
    <iframe>相关问题
    文字描边
    jquery 设置css margin-left
    uni-app mustache表达式
    Uni-app 响应式像素upx
    Uni-app页面进入和返回
    Uni-app 生命周期
    Sql添加/删除默认值
    Uni-app初体验(创建新路由)
    Uni-app初体验(页面绑定数据)
  • 原文地址:https://www.cnblogs.com/Sharley/p/8569569.html
Copyright © 2011-2022 走看看