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
Android NDK: Application targets deprecated ABI(s): armeabi Open File的更多相关文章
- Android NDK Application.mk(中文翻译)
作者:阿宝 更新:2016-08-31 来源:彩色世界(https://blog.hz601.org/2016/07/26/android-NDK-application-mk/index.html) ...
- Android NDK and OpenCV Development With Android Studio
Android NDK and OpenCV Development With Android Studio Hujiawei 172 2014年10月22日 发布 推荐 0 推荐 收藏 4 收藏,5 ...
- Android NDK调试出错Unknown Application ABI, Unable to detect application ABI's的解决方式
今天在调试Android NDK的时候,ADT的控制台报了这个错误: Unknown Application ABI, Unable to detect application ABI's 在网上查了 ...
- Android NDK开发指南---Application.mk文件和android.mk文件
https://android.googlesource.com/platform/development/+/donut-release/ndk/docs/OVERVIEW.TXT https:// ...
- Android NDK 学习之Application.mk
Application.mk file syntax specification Introduction: This document describes the syntax of Applica ...
- Android NDK编程之Android.mk和Application.mk
Android编程使用NDK必须创建一个jni文件夹,并且jni文件里一般包含有C/C++的源码文件.Android..mk文件.Application.mk文件(可选),Android.mk文件的编 ...
- Android: NDK中的Android.mk和Application.mk
1. 简介 Android.mk 可用来描述要编译的某个具体模块的相关信息.比如:指定编译该模块时所需要的源文件.编译该模块时要链接的库文件.该模块编译完成后生成的库的名字等等.Applicatio ...
- Android Studio - No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
错误提示: No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android 错 ...
- Android NDK开发入门实例
AndroidNDK是能使Android应用开发者把从c/c++编译而来的本地代码嵌入到应用包中的一系列工具的组合. 注意: AndroidNDK只能用于Android1.5及以上版本中. I. An ...
随机推荐
- Android API 指南
原文链接:http://android.eoe.cn/topic/android_sdk Android API 指南 - Android API Guides 应用的组成部分 - Applicati ...
- 如何指定一个和你的Android应用程序相适配的屏幕配置
原文:http://android.eoe.cn/topic/android_sdk 描述: 指定每个与该应用程序兼容的屏幕配置.一个配置清单中只能有一个标签的实例,但是它能够包含多个元素.每个元素指 ...
- [svc]linux正则实战(grep/sed/awk)
企业实战: 过滤ip 过滤出第二行的 192.168.2.11. eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 ine ...
- 《Android源代码设计模式解析》读书笔记——Android中你应该知道的设计模式
断断续续的,<Android源代码设计模式解析>也看了一遍.书中提到了非常多的设计模式.可是有部分在开发中见到的几率非常小,所以掌握不了也没有太大影响. 我认为这本书的最大价值有两点,一个 ...
- matlab M文件分析工具使用(Code Analyzer and Profiler)
Code Analyzer and Profiler Matlab中,对写在m文件(.m文件)里的代码有分析的工具,可以进行优化,这里做一个简单的介绍. Code Analyzer Code Anal ...
- Android使用binder访问service的方式(一)
binder机制是贯穿整个android系统的进程间访问机制,经常被用来访问service,我们结合代码看一下binder在访问service的情形下是怎么具体使用的. service 你可以理解成没 ...
- NGUI的UISprite动态染色的一种方法
本文主要参考iwinterice 的 NGUI的UISprite动态染色的一种解决方案 文章. 参考参考,就是既参详又拷贝,-,-||| 相关理论依据,还请去移步 NGUI的UISprite动态染色的 ...
- PostgreSQL建表SQL语句写法
DROP TABLE IF EXISTS bus; CREATE TABLE bus( id SERIAL PRIMARY KEY, mac ) NOT NULL UNIQUE, route int ...
- 项目中开机自启动的 node-webkit开机自启动
node-webkit开机自启动 Posted in 前端, 后端 By KeenWon On 2014年8月11日 Views: 1,215 node-webkit没有提供开机自启动的接口,在git ...
- TNS-12518,TNS-12536,TNS-00506,Linux Error: 11: Resource temporarily unavailable
TNS-12518: TNS:listener could not hand off client connection TNS-12536: TNS:operation would block T ...