如何知道我正在使用 ndk-build 构建哪个 API 级别?

2024-06-28

我试图更好地理解使用 ndk-build 时 api 级别的选择是如何工作的。

我知道我可以明确设置APP_PLATFORM in 应用程序.mk,否则 ndk-build 将针对清单中指示的 apiandroid:minSdkVersion,但是如果我的应用程序的清单两者都有怎么办android:minSdkVersion and android:targetSdkVersion,并且这比 minSdkVersion 更高?

ndk-build 的目标是目标SdkVersion?我该如何检查?

如果它针对更高的 api 级别,我想我将能够使用仅适用于该级别的本机 api 进行构建,但如果我在具有较低 api 级别的设备上运行该应用程序,它应该会严重失败,所以在这种情况下我应该实施某种 api 级别检查,对吗?


Use __ANDROID_API__定义于$NDK/platforms/android-<level>/<abi>/usr/include/android/api-level.h

#if __ANDROID_API__ >= 21
// building with Android NDK Native API level 21 or higher
posix_fadvise64(fd, ...);
#else
// building with Android NDK Native API level 20 or lower
syscall(__NR_arm_fadvise64_64, fd, ...);
#endif
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何知道我正在使用 ndk-build 构建哪个 API 级别? 的相关文章

  • 从 ASP.NET 插入到 MS Access

    我们正在尝试建立一个专门用于内联网的服务台票务系统 决定使用 Visual Studio 2008 Express 的 ASP NET C 如果需要的话 我们有一个完整版本 没什么花哨的 几页抓取 NTLM 信息 系统信息并将其与问题一起存
  • 如何在Linux上正确设置串行通信

    我正在尝试从 FPGA 板读取数据以及向 FPGA 板写入数据 该板本身附带一个驱动程序 每当板插入时 该驱动程序都会创建一个名为 ttyUSB0 的终端设备 在 FPGA 上 实现了异步接收器和发送器 并且它们似乎可以工作 然而 C 方面
  • 如果没有发生触摸事件,Android SurfaceView 会变慢

    我正在制作一款游戏 除了游戏循环之外一切都很顺利 我正在使用 SurfaceView 并绘制 2D Sprites 位图 目前游戏是一艘穿过小行星带的飞船 飞船停留在屏幕中央 手机向任一方向倾斜以移动小行星 小行星改变位置而不是玩家 当旧的
  • 从我的应用程序中搜索 Youtube 应用程序中的特定字符串

    我有一个按钮 当我点击它时 我想调用 Youtube 应用程序并搜索预定义的字符串 搜索字符串是不变的 我的意思是 Youtube 应用程序将自动显示结果 我知道为了搜索频道 我们输入 Intent intent new Intent In
  • 如何获取已发送短信的送达报告?

    In my Application我正在使用发送短信SMS Manager 要检查消息是否已发送 我正在使用Toast 代替Toast我想要得到SMS Delivery Report我正在尝试很多例子 但是 一个流程不显示递送报告 例如当我
  • 无法从 GetSystemTime() 获取毫秒

    我正在尝试打印秒和毫秒分辨率计时 我正在使用GetSystemTime 这是我的代码 GetSystemTime datetime RETAILMSG 1 T Time After Data Sent to USB d d r n date
  • 实施黑名单的最有效方法

    我开发了一个 Ip 过滤器 并猜测我如何使用任何类型的 esque 数据结构开发一个非常高效且快速的黑名单过滤器 我想做的很简单 每个传入 传出连接我都必须检查被阻止的 IP 列表 IP是分散的 内存使用应该是线性的 不依赖于阻止列表的数量
  • 使用硬件键盘时 Android TabHost 选项卡会窃取焦点

    我目前有一个TabHost包含 4 个选项卡 在一些片段上我们有一些EditText布局内的视图 我们注意到 当您尝试输入任何内容时EditText使用硬件键盘的视图 焦点被窃取EditText并赋予当前活动选项卡TabHost 这只发生在
  • 如何在 WinRT 中从 C++ 获取堆栈跟踪?

    我需要从 C 应用程序获取堆栈跟踪 并将其序列化为字符串 以便稍后解析 我在 Windows 上听说过的唯一 API 是 StackWalk64 它似乎不受支持 如何在 Windows 应用商店应用程序中从 C 获取堆栈跟踪 我能够调试复杂
  • 如何在Azure函数应用程序中调用函数后动态更改内容

    我正在使用 Visual Studio 2019 使用 Azure function v3 0 开发 Azure function 应用程序 我实现了一个时间触发的功能 我想更改内容 时间表 function json function j
  • Android 三星 S I9000 屏幕尺寸和密度问题

    我在 Samsung S I9000 上使用应用程序时遇到问题 我的应用程序上的按钮比应有的大得多 此外 系统选择 res values small 作为值的来源 总而言之 它的表现就好像该设备有一个非常小的屏幕 尽管它应该是 800x48
  • 同一个盒子上的进程间通信 - 2 个应用程序或进程之间的通信

    在同一机器上的应用程序之间实现进程间通信的最佳方法是什么 两者都是用 C 编写的 管理器应用程序将向其他应用程序发送命令 例如 停止 启动 它还将监视应用程序并可能要求提供数据 所有应用程序都将在同一台运行 Windows 7 操作系统的计
  • C#:迭代数据表:Rows、Select() 或 AsEnumerable()

    foreach DataRow row in myDataTable Select foreach DataRow row in myDataTable AsEnumerable foreach DataRow row in myDataT
  • 使用脚本取消设置 PDF 字体

    我正在使用 xhtml2pdf 库自动创建 PDF 几个月前我有过这个问题 https stackoverflow com questions 25203219 xhtml2pdf doesnt embed helvetica 库嵌入了我没
  • Microsoft.IdentityModel.Clients.ActiveDirectory.UserCredential 不采用 2 个参数?

    我在代码中使用 ADAL 我想要使 用的一件事是使用不同的凭据 因此我可以在控制台程序中针对 Azure AD 授权不同的用户 Microsoft IdentityModel Clients ActiveDirectory UserCred
  • android - 自动检测未使用的绘图

    问题是 我在开发 Android 应用程序时使用了许多图标和图片 后来我替换了其中的许多图标和图片 但保留了旧的 以防我需要再次使用它们 我现在有大量我的 png 的drawable文件夹中 许多现在都未使用 手动整理它们需要很长时间 有没
  • C# 中线程之间发送消息

    如何在线程之间发送和接收消息 例如 一种解决方案是共享并发队列 尽管它的名称 并发队列 http msdn microsoft com en us library dd267265 aspx 这将允许您将一个对象从一个线程入队 并让另一个线
  • 使用 解释 gprof 输出

    我试图在我的程序中找到性能问题 从而通过分析来检测代码 gprof 创建一个如下所示的平面配置文件 Flat profile Each sample counts as 0 01 seconds cumulative self self t
  • 为什么禁止在后续私有派生类中简单提及基指针/引用?

    struct B struct D private B B fun return new D ok struct DD public D B foo return 0 error struct B B B is inaccessible 这
  • 更新 Android Studio 后 Android 模拟器无法运行

    我通常使用 Android Studio 从 2 2 3 更新到 2 3 后 我的模拟器不再工作 这也很困难 因为 Google 决定弃用独立 SDK 管理器 我发现我可以检查 选择 显示包详细信息 但我仍然无法让我的 Google And

随机推荐

  • 将主机添加到 Ansible 主机文件

    我一直在尝试使用 Ansible 剧本将主机名添加到我的主机文件中 我的 Ansible 播放如下所示 我的主机文件位于 etc ansible hosts name adding host playbook hosts localhost
  • 在 UIImage 上添加点击手势

    我正在尝试制作可点击的 UIImage 用户可以点击它然后它就会动画 我正在使用 UIScrollVIew 这就是为什么我使用 UITapGesture 而不是 TouchBegan 而且 UIGestureRecognizer 似乎与 U
  • Gnuplot:带有内联数据的直方图

    Gnuplot 4 6 5 我想绘制直方图 我在这里尝试了演示 http gnuplot sourceforge net demo histograms 2 gnu http gnuplot sourceforge net demo his
  • Laravel Eloquent:检测为空或计数

    主要问题是如何检测 eloquent 集合结果是否为空 laravel 建议如何识别这一点 我对此有两个不同的问题 也许它们彼此相关或无关 首先 我怎样才能得到结果 result user gt delete OR result user
  • 在 openjre 中使用需要 Java 策略文件的加密

    如果我想使用 java 和密钥长度超过 128 位的加密 我必须使用 Java 策略文件 如何使用 openjre 启动并运行这些应用程序 我在使用没有策略文件的 Oracle jre 时遇到了同样的错误 但我不能简单地使用 Oracle
  • CSS 错误源映射信息在 URL() 声明中不可用(发现孤立 CR,尝试删除CR 选项)

    我在项目中执行 NPM start 时遇到问题 我收到此错误消息 src assets base scss node modules css loader dist cjs js ref 6 oneOf 5 1 node modules p
  • 使用 VS 2012 在构建中生成 T4

    我正在尝试使用 VS2012 在项目的每个构建上生成代码 我的解决方案中有 3 个项目 项目1有一些类 项目 2 有通用模板 项目 3 的模板读取 json 文件 然后调用项目 2 中的通用模板来生成其文件 当我单击 构建 转换所有 T4
  • Mac OS X 上的 Neovim 显示问题

    我通常在我的 Linux 配置上使用 Neovim 但今天我必须使用 Mac 并且我将不得不使用它一会儿 所以我安装了包管理器 Homebrew 并安装了 Neovim 我放置了我的配置 init vim 并安装了 Vim Plug 插件管
  • 需要访问tableView中的单元格:heightForRowAtIndexPath:

    我需要从以下位置访问表格中的单元格tableView heightForRowAtIndexPath 因为我想使用自定义单元格上的数据进行高度计算 我发现获取细胞的唯一方法是打电话tableView cellForRowAtIndexPat
  • Fortran + Openmp 比顺序更慢

    我有这个 Fortran 语言的顺序代码 我的问题是 当我放置 Openmp 指令时 并行代码比顺序代码更慢 并且我没有看到错误 REAL DIMENSION ALLOCATABLE current next ALLOCATE curren
  • 当我在 keyDown 事件处理程序中使用它时,按下 ESC 时,location.reload 不会重新加载页面。仅限FF

    我发现当按下 ESC 按钮时从 keyDown 事件处理程序调用 location reload 调用时 它不会执行任何操作 有人知道如何重新加载页面的解决方法吗 我还发现http bugs jqueryui com ticket 4922
  • 在 Interface Builder 中设置 UIImageView 的图像

    当我在 IB 中为 UIImageView 设置图像并模拟界面时 按钮和内容会显示 但图像视图不会显示 这是因为 Interface Builder 使用的模拟器独立于您的项目 它只是获取 xib 文件 构建界面并显示它 因此 它找到引用但
  • 不使用 JS 防止图像可拖动或可选择

    有谁知道如何在 Firefox 中同时使图像不可拖动且不可选择 而不需要求助于 Javascript 看似微不足道 但问题是 可以在 Firefox 中拖动并突出显示 所以我们添加了这个 但是拖动时图像仍然可以突出显示 所以我们添加这个来解
  • 如何在 .map 函数中访问张量形状?

    我有多个长度的音频数据集 我想在 5 秒窗口内裁剪所有音频 这意味着 240000 个元素 采样率为 48000 因此 加载 tfrecord 后 我正在执行以下操作 audio sr tf audio decode wav image d
  • 测试 JavaScript 中是否有未定义的内容

    我正在查if response 0 title undefined 但我收到错误 未捕获的类型错误 无法读取未定义的属性 标题 response 0 未定义 检查是否已定义 然后检查其属性标题 if typeof response 0 un
  • Kotlin 不理解 ViewModelProviders.of(activity ?:fragment)

    在我的里面Fragment我初始化一个ViewModel using ViewModelProviders 我想让它采取它的Activity if not null 否则本身 Fragment private val viewModel M
  • 报告已完成的冲刺

    想要构建一份报告 显示每个团队成员在每个已完成的 Sprint 中的贡献百分比 我们将工作分解为 任务 并分配 剩余工作 值来指示所需的时间 那么问题是 随着冲刺的进行 剩余价值是明确的或减少的 一直在寻找一种方法来找到原始剩余价值 这样我
  • IntelliJ、Akka 和配置文件

    使用时akka http akka io 我放置akka conf in src main resources 当我run通过 sbt akka conf被正确识别 但当我运行 IntelliJ 时却没有 即使在gen idea 实现这一目
  • 围绕 glutMainLoop 执行程序的其余部分?

    我目前正在开发一个项目 其中有一个 android 应用程序 我在 PC 上的 OpenGL 窗口中编写了控件和对象 我已经让 OpenGL 窗口执行我想要的操作 并且我从 Android 设备获取了数据以流式传输到终端 但是我需要将数据传
  • 如何知道我正在使用 ndk-build 构建哪个 API 级别?

    我试图更好地理解使用 ndk build 时 api 级别的选择是如何工作的 我知道我可以明确设置APP PLATFORM in 应用程序 mk 否则 ndk build 将针对清单中指示的 apiandroid minSdkVersion