
NDK
文章平均质量分 76
Android NDK
程序员-薯片
公众号【程序员薯片】
专注于:
1.AI+应用实战研究&开发。
2.码农中年危机自救指南研究&探索。
3.码农视觉的读书感悟&分享。
展开
-
为什么同样的C代码在arm64-v8a可以跑,在armeabi-v7a会奔溃?
总体而言,要确保 C 代码能够在 64 位处理器上正确运行,需要注意 32 位和 64 位系统之间的差异,并确保代码中没有与平台相关的假设。如果你的代码依赖于特定的库或第三方代码,确保这些库在 64 位系统上是兼容的。有时,问题可能并不是在你的代码中,而是在你依赖的库中。如果你的代码依赖于特定的数据结构对齐方式,确保你的结构体或变量的对齐方式是正确的。确保你的应用程序中没有架构相关的问题,并且所有的本地代码都是通用的。需要注意的是,指针的大小在32位和64位机器上都是相同的,都是8字节。原创 2023-12-01 21:34:39 · 825 阅读 · 0 评论 -
NDK是什么?有什么用?需要掌握什么技术栈?
LLDB是一个高性能的调试器,它可以用于调试多种平台和语言,包括C / C ++,Objective-C,Swift和Assembly。需要注意的是,虽然使用 NDK 可以为应用程序带来更好的性能和更高的灵活性,但同时也增加了应用程序的开发和维护成本。有时候,拿到C/C++的代码会有各种各样的问题,例如代码是针对32系统编写的,我们要移植到64位系统运行可能就会出问题。很灵活和强大的构建工具,需要掌握CMake的使用,才能根据不同的源代码环境对代码进行正确的构建。这是掌握NDK必不可少的技术栈。原创 2023-12-01 18:16:46 · 2423 阅读 · 0 评论 -
Android NDK开发中常用的gradle配置
这个块主要用于告诉 Gradle 在构建本地代码时应该使用哪个 CMakeLists.txt 文件以及使用哪个版本的 CMake。在 Gradle 中指定 NDK(Android Native Development Kit)版本,可以使用。在 Android 开发中,CMake 通常用于构建使用 C++ 编写的本地代码。这部分代码表明正在配置 CMake 构建,并在其中设置了一些 C++ 编译标志(中,以满足的项目需求。这个块用于更详细地配置 CMake 构建。块配置 CMake 构建。原创 2023-11-27 14:35:12 · 808 阅读 · 0 评论 -
Android UnsatisfiedLinkError问题定位
通常发生在 Java Native Interface (JNI) 中,表示 Java 代码尝试加载本地库(Native Library)时失败。原创 2023-11-27 14:13:58 · 568 阅读 · 0 评论 -
Android查看当前机器的ABI类型
确保你的 Android 设备通过 USB 连接到计算机,并且已启用开发者选项。你还需要在设备上启用 USB 调试。在“关于手机”页面中,查找与 CPU 或处理器相关的信息。通常,你将在这里找到关于 ABI 类型的信息,如。在计算机上打开终端(Linux/macOS)或命令提示符(Windows)。在设置中,找到并点击“关于手机”或类似的选项。这将输出当前设备的 ABI 类型,例如。打开设备的设置应用。原创 2023-11-27 14:04:57 · 1424 阅读 · 0 评论