Android 本机代码如何针对多种处理器类型?

2024-02-27

据我了解,Android 上的本机代码是直接与特定设备的处理器一起工作的代码。因此,如果我想利用某个处理器,我会使用本机代码。

但是,如果我想制作一个包含本机代码但面向多个处理器的应用程序,会发生什么情况?

我是否必须制作多个应用程序,每个架构一个?或者有没有一种方法可以将多个版本的本机代码放入一个应用程序中,选择与其运行的设备的处理器相匹配的版本?


Android Native Development Kit 是一套交叉编译器和支持库,可用于生成针对一个或多个官方支持的 Android 架构的共享对象 (.so) 文件。

Android 应用程序包 (.apk) 专用 zip 文件格式允许包含适用于多种架构的不同本机库。

如果您参考 NDK 文档,您将看到有一个项目配置文件,您可以使用该文件来指定应编译本机代码以支持哪些架构。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 本机代码如何针对多种处理器类型? 的相关文章

  • 包管理器已去世

    我收到一位安装了很多应用程序的用户发来的邮件 称当我的应用程序使用以下代码收集活动信息时 他遇到了问题 getPackageManager queryIntentActivities mAinIntent 0 完整来源在这里 https g
  • Facebook4j API:搜索

    我正在使用 Facebook4j 通过关键字获取状态 facebook4j conf ConfigurationBuilder fac new facebook4j conf ConfigurationBuilder fac setDebu
  • putExtra() 和 setData() 之间的区别

    putExtra 和 setData 有什么区别 我已经阅读了 android 文档 但没有太大帮助 还有之前的一个问题Intent setData 与 Intent putExtra https stackoverflow com que
  • 当前版本的Android Gradle插件不支持按需配置

    升级到 Android Studio 3 1 2 后 出现以下错误 当前版本的 Android Gradle 插件不支持按需配置 因为您使用的是 Gradle 4 6 或更高版本 建议 通过在 gradle properties 文件中设置
  • Android:如何让设备只运行一个应用程序?

    我有一个客户项目 我必须制作单任务 Android 设备 客户无法逃脱我公司开发的应用程序 此外 客户无法启动任何其他应用程序 而我们的应用程序会在设备启动时启动 总体而言 客户能够使用设备执行的所有操作就是运行我们的应用程序 除了 roo
  • 如何在 Picasso 中使用磁盘缓存?

    我正在使用 Picasso 在我的 Android 应用程序中显示图像 load image This is within a activity so this context is activity public void loadIma
  • 作为附件的 Android 设备

    我有 2 个 Android 设备 我想用 USB OTG 电缆连接它们 并在两个设备之间进行来回通信 据我了解 一台 Android 设备将充当 USB 主机 运行 4 4 的 Nexus 7 另一台 Android 设备将充当 USB
  • 如何在其他呼叫运行时以编程方式合并呼叫(电话会议)

    我的要求是这样的 假设我当时正在拨打一个号码 并且我想以编程方式拨打另一个号码 到目前为止 我所做的是 当某些呼叫已经进行时 我能够呼叫特定号码 例如 假设我正在拨打号码 123 1 分钟后 通过使用Alarm Manger我触发一个事件来
  • 数据未刷新“DynamiteModule:未找到 com.google.firebase.auth 的本地模块描述符类”

    我已经使用 Firebase 很长时间了 到目前为止 除了以下场景之外 一切都很好 有时我注意到我的应用程序不再获取新数据 我正在用一个活跃的监听器监听变化 并且我确实有keepSynced set to true 发生这种情况时 我会在日
  • 从 Android 访问云存储

    我一直无法找到任何有关如何从 Android 应用程序使用云存储的具体文档 我确实遇到过这个客户端库 https cloud google com storage docs reference libraries然而 Google Clou
  • 运行 Android 应用程序时出现错误

    我已经使用 Eclipse 创建了一个 Android 应用程序 但应用程序未在 AVD 上运行 它显示 不幸的是已停止工作 日志猫消息如下 07 29 04 59 50 789 W dalvikvm 784 threadid 1 thre
  • Android OptionsMenu问题,背景始终透明

    我的选项菜单总是不显示背景 背景是透明的 有谁知道如何摆脱这个 我的失败起源活动是从另一个自定义活动扩展的 我在 eclipse 上有这个项目 选项菜单工作正常 但自从我迁移到 AndroidStudio 后 选项菜单始终是透明的 我尝试更
  • LinearLayout:防止最后一个孩子被之前的大文本视图推出或挤压

    我有一个LinearLayout里面有两个孩子 第一个是TextView对于动态内容 第二个是一个按钮 我的问题是按钮被推出其父级或被挤压到不再可见的程度 我想要TextView认识到其父母与第二个孩子一起没有更多空间 并开始新的一行 而不
  • 更快地评估从右到左的矩阵乘法

    我注意到以二次形式评估矩阵运算右到左明显快于左到右在 R 中 取决于括号的放置方式 显然它们都执行相同的计算量 我想知道为什么会这样 这与内存分配有什么关系吗 A 5000 5000 B 5000 2 A matrix runif 5000
  • Android 10 请求 ACTIVITY_RECOGNITION 权限

    我试图遵守 Google 的要求 为 Android 10 请求 ACTIVITY RECOGNITION 权限 但我似乎不明白为什么没有显示权限弹出窗口 就像其他权限 即位置 存储等 一样 我的代码是 if ContextCompat c
  • 如何获取小区广播消息?

    我尝试像模拟人生一样获取小区广播消息的文本 但它不起作用 public class SMSReceiver extends BroadcastReceiver Override public void onReceive Context c
  • Android Jetpack Compose 尺寸随持续时间变化的动画

    如何在 Jetpack Compose 中添加内容大小更改动画的持续时间 尝试使用Modifier animateContentSize 并通过动画规格具有持续时间 但它只是突然进入或退出 没有观察到持续时间 Column Modifier
  • Android Studio 中自动打开“运行设备”选项卡

    在 Android Studio Flamingo 中有一个名为跑步设备并且它会在每次之后自动打开运行应用程序 有办法禁止这个自动打开吗 我尝试禁用启用物理 Android 设备的镜像选项 但选项卡仍然自动打开 基于此issue https
  • 从 dask 数据框中的日期时间序列获取年份和星期?

    如果我有一个 Pandas 数据框和一个日期时间类型的列 我可以按如下方式获取年份 df year df date dt year 对于 dask 数据框 这是行不通的 如果我先计算 像这样 df year df date compute
  • Android Volley - 发布请求 - 无法在线工作

    我试图通过 Volley 发出 POST 请求 它在我的本地主机中工作得很好 但是当我将它移动到网络服务器时 响应为空 Java代码 RequestQueue queue Volley newRequestQueue this String

随机推荐

  • 如何确定从序列中删除子序列的所有可能方式?

    给定两个序列 A and B 我怎样才能生成所有可能的方式的列表B可以从中删除A 例如 在 JavaScript 中 如果我有一个函数removeSubSeq采用两个满足我要求的数组参数 它将按如下方式工作 removeSubSeq 1 2
  • 线程被阻塞 JAXB

    即使每次创建解组器的新对象后 线程也会被阻塞 请帮忙 http 80 3 daemon prio 10 tid 0x000000004fabe800 nid 0x7147 waiting for monitor entry 0x000000
  • 使用 NavGraph 从另一个 Fragment 切换回来时,包含 ViewPager 的 Fragment 会重新加载 - Jetpack Navigation

    下面提供了 TLDR 我有一个复杂的活动片段结构 之前是 3 个活动 现在转换为三个片段 因为它复杂 繁重并且需要交换大量数据 所以我将其更改为基于新的导航 UI 的结构 查看 Google 的向日葵 它现在更干净 工作速度更快更好 My
  • 超集地图框工具提示的个性化

    根据超集拉取请求 可以使用一些 JavaScript 来个性化地理数据的工具提示 我尝试了很多方法来将点数据获取到工具提示 但没有一个起作用 Superset 在哪里存储额外的 JS 参数 The object props OwnData此
  • 将 d3.layout.force v3 更新为 d3.forceSimulation v7

    我正在尝试将使用 d3js 版本 3 编写的力导向图更新为 d3js 版本 7 以下代码片段是使用 d3js v3 的工作实现 var svg d3 select svg width svg attr width height svg at
  • 正确的 XPath 查询以获取 div 内部文本

    我正在使用 XPath 查询 HTML 文档 其中以下 div 包含文本 div class h1 2008 Honda Accord Coupe div
  • 如何实现标记嵌入的中心损失和其他运行平均值

    最近的一篇论文 here http ydwen github io papers WenECCV16 pdf 引入了一种称为中心损失的二次损失函数 它基于批次中嵌入之间的距离以及每个相应类的运行平均嵌入 TF Google 群组中有一些讨论
  • OpenGL 或 OpenGL ES [重复]

    这个问题在这里已经有答案了 我应该学什么 OpenGL 4 1 还是 OpenGL ES 2 0 我将使用 Qt 开发桌面应用程序 但几个月后我也可能开始开发移动应用程序 我对 3D 3D 数学等一无所知 我宁愿花 100 美元买一本好书
  • Clojure + Clojurescript:读取当前文件代码的宏

    我已经尝试过的 defmacro magic slurp file 这在 clojure 中工作得很好 但在 clojurescript 中则不然 至少在 lein Figwheel 中不行 原始问题 我需要以下内容才能在 Clojure
  • 如何从列表列表中制作平面列表?

    我有一个列表 例如 1 2 3 4 5 6 7 8 9 我怎样才能把它压平以获得 1 2 3 4 5 6 7 8 9 If your list of lists comes from a nested list comprehension
  • 替换 R 中的单反斜杠

    我已经在堆栈溢出中阅读了有关此主题的一些问题和答案 但仍然不知道如何解决此问题 我的目的是将Windows资源管理器中的文件目录字符串转换为R中可识别的形式 例如C Users Public 需要转换为 C Users Public 基本上
  • 同一应用程序在单个设备上的开发和生产版本

    请建议如何解决需要在一台设备上安装两次同一应用程序的问题 需要一个用于开发 一个在生产中用于测试和使用 这样做的简单方法是什么 我尝试手动更改包名称 但这会导致合并时出现痛苦 如果您使用 ADT v 20 您可以轻松更改包名称 只需右键单击
  • 测试 FormArray

    我有一个PhoneNumbersFormComponent其模板如下所示 div div div div
  • 如何编写更新查询来减去某个值?

    在 sql 查询中准备语句的情况下 这是执行减法运算的正确方法吗 sql UPDATE users set credits credits price WHERE username 根据 price 的值减去用户积分的代码 price ro
  • Rmarkdown/knitr subfigure 不同的图形尺寸

    我试图在 Rmarkdown 中实现子图的不同高度和宽度 我希望只是提供fig height and fig width每个向量都可以工作 因为这似乎确实适用于out height and out width title Untitled
  • 从自定义属性修饰的属性中获取价值?

    我编写了一个自定义属性 用于类的某些成员 public class Dummy MyAttribute public string Foo get set MyAttribute public int Bar get set 我可以从类型中
  • Java Swing - 从另一种方法设置 Jlabel 文本

    我对 Java 和 Swing 还很陌生 我正在使用 Windowbuilder 来尝试我的一些 GUI 想法 但在尝试设置 Jlabel 的文本时遇到了问题 Windowbuilder 在initialize 方法中自动创建了一个名为pa
  • Java 构造函数链接 [重复]

    这个问题在这里已经有答案了 你好 我刚刚学习 Java 中的构造函数链 并且有一些问题 首先 有人可以解释一下我什么时候需要使用这个吗 我真的无法想象出一种情况 在此示例中 在没有参数的构造函数中 我调用另一个构造函数 我如何访问这个新的
  • bitbucket 剥离了 git 修订

    推送到 bitbucket 后 我 的同事提交被删除 并且 bitbucket 新闻源上出现一条消息 stripped 6f9de58aa748 from projektA 4 hours ago stripped 54dae89de600
  • Android 本机代码如何针对多种处理器类型?

    据我了解 Android 上的本机代码是直接与特定设备的处理器一起工作的代码 因此 如果我想利用某个处理器 我会使用本机代码 但是 如果我想制作一个包含本机代码但面向多个处理器的应用程序 会发生什么情况 我是否必须制作多个应用程序 每个架构