首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NDK/工具链不支持指定的Android本机API级别‘android-8

NDK(Native Development Kit)是一个用于开发Android应用程序的工具集,它允许开发者使用C/C++语言编写本地代码,并将其与Java代码结合在一起。工具链是一组用于构建和编译应用程序的工具,包括编译器、链接器和调试器。

在这个问题中,出现了一个错误提示:NDK/工具链不支持指定的Android本机API级别‘android-8’。这意味着当前使用的NDK版本或工具链不支持指定的Android API级别为android-8。

Android API级别是Android平台提供的一组类和方法的版本号。每个API级别都引入了新的功能和改进,并且可能不向后兼容。android-8代表Android 2.2版本(也称为Froyo),它是较旧的Android版本。

要解决这个问题,可以尝试以下几个步骤:

  1. 更新NDK版本:检查当前使用的NDK版本是否较旧,并尝试升级到最新版本。可以从官方网站(https://developer.android.com/ndk/downloads)下载最新的NDK版本。
  2. 检查工具链:确保使用的工具链与目标API级别兼容。可以在NDK文档中查找支持的API级别和对应的工具链版本。
  3. 检查项目配置:检查项目的构建配置文件(如Android.mk或CMakeLists.txt)中是否正确指定了目标API级别。确保使用的API级别与NDK和工具链兼容。
  4. 考虑降低目标API级别:如果无法解决兼容性问题,可以考虑降低目标API级别,以适应当前使用的NDK和工具链版本。

总结起来,要解决NDK/工具链不支持指定的Android本机API级别‘android-8’的问题,需要检查和更新NDK版本、检查工具链兼容性、检查项目配置,并考虑降低目标API级别。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android 安全】DEX 加密 ( 代理 Application 开发 | 交叉编译 OpenSSL 开源库 )

ANDROID_NDK_ROOT NDK 工具根目录 , 就执行下面的逻辑, # 如果指定了, 就没有下面代码什么事了 # 这里指定下该环境变量 , 上面的 _ANDROID_NDK 变量也失去了相应作用..., x86-4.6 or x86-4.8 ; 配置前到 NDK 目录下 toolchains 中查看要使用哪个版本交叉编译工具 , 该配置一定要从 NDK 目录中查找 ; _ANDROID_EABI...# 这里如果用户没有指定 ANDROID_NDK_ROOT NDK 工具根目录 , 就执行下面的逻辑, # 如果指定了, 就没有下面代码什么事了 # 这里指定下该环境变量 , 上面的 _ANDROID_NDK...=`pwd`/android/arm 编译源码 : 执行下面的代码 , 完成交叉编译工作 ; # 编译源码 make depend make all 将生成库安装到 指定目录中 ; 该步骤作用是将编译后结果..., 输出到 --prefix=pwd/android/arm 指定目录中 ; # 安装源码到指定目录 sudo -E make install CC=/root/NDK/android-ndk-r17c

74900

Android Ndk and Opencv Development 2

⑤APP_PLATFORM:指定目标android系统版本,注意,指定API level,一般情况下,这里可能会与AndroidManifest.xml文件中定义minSdkVersion冲突而报错...Android系统下有多个API level,每个API level都对应了一个Android发布系统,对应关系如下所示。...):需要指定 –llog (6)Jnigraphics库(libjnigraphics):这个C语言库提供了对Java中Bitmap操作,需要指定 –ljnigraphics,这个库是android...注意 在Windows下进行NDK开发的话,一般使用是Cygwin自带Make工具,但是默认是使用NDKawk工具,所以可能会报一个错误Android NDK: Host 'awk' tool is...解决方案就是删除NDK自带awk工具(参考网址),这也就是第一节中使用ndk-build -v命令得到GNU Make信息输出不同了,嘿嘿,我这伏笔埋够深吧!

77320

Android Ndk and Opencv Development 1

从本节开始之后几节将介绍关于Android NDK和OpenCV整合开发内容,本节介绍Android NDK 和 OpenCV 整合开发环境搭建以及人脸检测项目的运行测试。...3.OpenCV 在 Android NDK 开发中应用 [本文假设你是安装配置好了Java和Android SDK开发环境,如果没有的话,可以看我以前在点点博客写这篇文章,开发工具建议使用ADT...下载安装OpenCV2.6版本 下载地址:OpenCV首页 Linux平台安装教程 Mac平台安装教程 (1) 首先安装需要安装工具和依赖包[详见前面的Linux安装教程],Mac平台基本上只要安装...on sourceforge [2.4.2相对比较旧了,有些新特性不支持,比如人脸识别(但是有人脸检测),不推荐下载这个;2.4.6相对比较新,但是可能导入Library Project一直报错,所以如果不能解决就考虑使用...Face Detection一样 [如果配置完了之后提示一个app_platform警告的话,可以在Application.mk文件中添加 APP_PLATFORM := android-8] 仔细理解上面的配置和操作

64320

Xmake v2.7.2 发布,更加智能化构建第三方库

其实,也就是让 Xmake 检测到对应构建系统后,调用 cmake 等命令来实现,但是会帮助用户简化配置操作,另外还能对接 xmake 交叉编译工具配置。...即使当前项目源码不支持指定平台,或者源码和构建脚本存在一定缺陷,Xmake 也能自动打入特定 patch 去修复它,并引入需要依赖包,确保它肯定能够一键编译通过。...对接交叉编译工具 这种智能构建模式,我们不仅能够编译本机程序,还可以对接交叉编译工具,实现对 ios/android 以及任意交叉编译平台支持。...例如,编译 Android 平台,我们只需要传递 --trybuild=xrepo 参数,然后切换到 android 平台即可,Xmake 会透传所有 ndk 工具信息。...因此,在新版本中,我们新增了 clang-cl 工具,仅仅只需要 xmake f --toolchain=clang-cl 就可以快速切换到 clang-cl 工具,而无需任何 PATH 设置。

87620

Android FFMPEG 开发】FFMPEG 交叉编译配置 ( 下载 | 配置脚本 | 输出路径 | 函数库配置 | 程序配置 | 组件配置 | 编码解码配置 | 交叉编译配置 | 最终脚本 )

设置交叉编译工具前缀 : ① 定义 NDK 根目录变量 : NDK_ROOT=/root/NDK/android-ndk-r17c ② 定义 TOOLCHAIN 交叉编译工具目录变量 : TOOLCHAIN...-isystem $NDK_ROOT/sources/android/support/include -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections.../configure --target-os=android 其它编译工具配置选项 ( Configuration ) 请仔细阅读下面的 configure 帮助文档内容 ; Toolchain..., 即 NDK 目录下交叉编译工具目录 , 其中有一系列 arm-linux-androideabi-XX 工具 # PREFIX 配置完整路径/NDK路径/工具前缀 # /root/NDK.../bin/bash # NDK 根目录 NDK_ROOT=/root/NDK/android-ndk-r17c # TOOLCHAIN 变量指向 gcc g++ 等交叉编译工具所在目录 TOOLCHAIN

1.2K20

android设备上如何运行C语言原生程序

前言 咱们知道android设备可以直接运行apk应用,或者使用dalvikvm指令运行dex文件中程序, 但是这两者本质上使用语言都是java或者smali, 如果需要执行C语言程序,需要借助NDK...编译成so库, 有没有不使用NDK而直接编译c原生程序然后在安卓设备中运行方式呢?...目标设备环境不允许,比如单片机, 内存和性能无法支持程序编译 交叉编译工具 交叉编译工具命名规则为:arch [-vendor] [-os] [-(gnu)eabi] arch – 体系架构,如...,ARM GCC可分为支持和不支持操作系统,如 arm-none-eabi:这个是没有操作系统,适用于ARM架构裸机,工具提供商未知,嵌入式应用二进制接口,这个工具不支持那些跟操作系统关系密切函数...回到主题 我需要用C语言编写一个能在安卓设备上运行程序, 首先安卓设备大多采用是ARM架构cpu, 系统采用是linux系统, 如果我们想在安卓设备中进行本机编译的话,实现起来比较困难, 那么咱们可以借助交叉编译工具

5.1K20

Android 安装包优化】p7zip 源码交叉编译 Android 平台可执行程序 ( 下载 p7zip 源码 | 交叉编译 Android 中使用 7z 可执行程序 )

x86_64 APP_PLATFORM := android-8 分析 Android.mk 构建脚本 : include $(BUILD_EXECUTABLE) include $(BUILD_EXECUTABLE...NDK 进行编译 , 使用高版本 NDK 编译各种报错 ; 使用 16.1.4479499 版本 NDK 进行编译 : >D:\001_Programs\001_Android\002_Sdk\Sdk...【错误记录】Android Studio 导入外部 so 动态库报错 ( java.lang.UnsatisfiedLinkError | 指定 APK 打包动态库 CPU 架构 ) 【错误记录】p7zip.../ndk/guides/ndk-build Android.mk 构建脚本 : https://developer.android.google.cn/ndk/guides/android_mk Application.mk...构建脚本 : https://developer.android.google.cn/ndk/guides/application_mk 博客资源 : 源码 , 编译后可执行文件, 在 7zip\p7zip

1.7K30

【FFmpeg】编译不同平台 FFmpeg 源码 ( 本地编译 与 交叉编译 | FFmpeg 指定目标平台编译配置参数 | 配置目标 CPU 架构 | 配置目标操作系统 )

和 A 系统 编译 C 系统函数库 , 三者所用 编译器 是不同 ; 头文件 : 特定交叉编译工具 自带 目标系统 头文件 ; 依赖库 : 特定交叉编译工具 自带 目标系统 依赖库文件...交叉编译需要工具 在 Ubuntu 中进行 Android 平台 C/C++ 函数库交叉编译时 , 使用工具如下 : 交叉编译工具 : android-ndk-r17c/toolchains/...-isystem $NDK_ROOT/sources/android/support/include -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections.../ 禁用滤镜 --enable-cross-compile \ // 启用交叉编译 --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \ // 指定交叉编译工具前缀...- 配置 交叉编译工具前缀 ; --sysroot 配置 交叉编译工具 头文件 和 函数库 搜索路径 ; --extra-cflags="$FLAGS" 配置 gcc / g++ 编译器 额外选项

16500

重走Android路 之 Android系统架构图以及开发工具了解

例如,我们App想要发送SMS消息(短信),我们不需要重新去写一个短信功能,而是直接调用系统提供好Api去向指定联系人发送短信,甚至,我们可以设定好短信内容,以便减少用户操作。 2....如果项目中需要C或C ++代码应用程序,可以使用Android NDK直接从本机代码访问其中一些本地平台库。 4....Android运行时 ---- 对于运行在Android版本5.0(API级别21)或更高版本设备,每个应用都在其自己进程中运行,并且拥有自己Android运行时(ART)实例。...构建工具(如Jack)将Java源代码编译为可在Android平台上运行DEX字节码。...Android版本5.0(API级别21)之前,Dalvik是Android运行时。

1.4K20

conan入门(九):NDK交叉编译自己conan包项目塈profile定义

Conan官方文档:《Using Profile》 使用conan profile文件,我们不仅可以声明settings将识别我们二进制文件(host设置),还可以声明使用工具或交叉编译器所需所有环境变量...带有指向已安装工具 PATH 变量**[env]部分。**还有工具期望任何其他变量(阅读编译器文档)。一些构建系统需要一个变量SYSROOT来定位主机系统库和工具位置。...以下以Android NDK(android-ndk-r19c)为例,我参照《Linux/Windows/macOS to Android》 写用于Android NDK交叉配置文件: android..._21_arm_clang include(default) # 需要修改为你Android NDK实际安装位置 android_ndk=D:/j/android-ndk-r19c [settings...os.api_level=21 [tool_requires] [options] [env] # 定义交叉编译工具文件 CONAN_CMAKE_TOOLCHAIN_FILE=$android_ndk

1.3K30

Android NDK开发完全剖析

比如MediaCodec、MediaExtractor等等,且不说这些版本兼容性,单单是这些工具格式支持度如何呢?如果遇到不支持音视频格式怎么办呢?...做过jni开发同学都知道jni代码是使用ndk工具编译ndk工具中就包含交叉编译工具,我们先看一下ndk目录结构: 这些目录表示针对不同CPU架构编译工具,例如arm-linux-androideabi...当然交叉编译也可以使用NDK提供独立工具,现在已经很少谈到独立工具了,但是对于一些大型项目,独立工具还是有它独特优势,因为独立工具真的很灵活。...NDK提供了make_standalone_toolchain.py 脚本,以便您通过命令行执行自定义工具安装。...CMake编译 如果大家在Android5.0做过NDK编程的话,当时是使用ndk-build工具进行编译,还需要配置Android.mk和Application.mk。

1.7K10

xmake从入门到精通5:Android平台编译详解

xmake是一个基于Lua轻量级现代化c/c++项目构建工具,主要特点是:语法简单易上手,提供更加可读项目维护,实现跨平台行为一致构建体验。...项目源码 官方文档 准备工作 首先,我们需要先准备好编译android native库必须ndk工具,如果还没有可以从官网下载解压即可:Android NDK 如果是为了获取更好向下兼容性,可以选择...$ xmake 其中,-p android用于切换到android平台,因为如果不指定平台,默认会编译当前主机平台target程序。...这个时候,我们可以通过尝试手动修改api版本来解决: $ xmake f -p android --ndk=xxx --ndk_sdkver=16 arch编译切换 目前xmake提供 armv7-...通常是api版本设置太高,导致不兼容问题,可以尝试调低api版本。 ?

1.1K10

Android RTMP】音频数据采集编码 ( 音频数据采集编码 | AAC 高级音频编码 | FAAC 编码器 | Ubuntu 交叉编译 FAAC 编码器 )

交叉编译工具 : ① 其它开源库惯例 : 在 FFMPEG 和 x264 交叉编译时 , 都指定了 --cross-prefix 交叉编译工具前缀 ; ② FAAC 中指定交叉编译工具方法 :...variables: # C 编码器命令行, 即 gcc, 这里可以直接指定交叉编译工具 gcc CC C compiler command # 指定传递给 gcc.../bin/bash # NDK 根目录 NDK_ROOT=/root/NDK/android-ndk-r17c # TOOLCHAIN 变量指向 gcc g++ 等交叉编译工具所在目录 TOOLCHAIN...=$NDK_ROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 # 具体交叉编译工具前缀 CROSS_COMPILE=$TOOLCHAIN...android/armeabi-v7a # FAAC 中没有指定交叉编译工具选项, 只能在此处通过环境变量方式进行指定 # 这里指定使用 android-17 版本库进行编译 export CC

73910

Android NDK cmake编译方式(六)

介绍 Android Studio 2.2 及以后版本默认使用CMake进行 NDK 编译,让开发者在开发NDK程序时可以进行联机调试,大大提高了开发者开发NDK程序效率,如果想详细了解在cmake...因为cbuild默认包含了搜索路径中系统库,所以您只需要指定您想要添加公共NDK名称。cbuild在完成构建之前验证这个库是否存在。...# 指定NDK名称 你想让CMake来定位。...find_library 指令 这个指令是Android NDK开发提供特有的Cmake指令,用于添加NDK API。...中build我们NDK工程时,Aandroid Studio会通过上面的步骤为我们设置好交叉编译环境,然后再将CMakelists.txt文件传给 CMake, CMake解析里面的内容,并最终调用不同平台工具

2.3K61
领券