【问题标题】:Android NDK API list?Android NDK API 列表?
【发布时间】:2012-10-10 17:33:05
【问题描述】:

有没有一种方法/工具可以从 NDK 文件夹子目录(即 C:\android-ndk-r8b\platforms\android- 9\arch-arm\usr\include) 并生成类似 javadoc 的东西?我问的原因是因为我们有一个开发人员正在尝试将他的 Windows 代码移植到 android 平台上,在他开始进行这样的努力之前,他需要知道支持哪些 API 调用所以他可以开始更改他的代码库以使其兼容 Android-NDK。我在寻找答案时遇到了以下链接:

http://mobilepearls.com/labs/native-android-api/#c++
C:/android-ndk-r8b/docs/STABLE-APIS.html
C:/android-ndk-r8b/docs/CPLUSPLUS-SUPPORT.html

【问题讨论】:

    标签: android api android-ndk


    【解决方案1】:

    检查代码是否合规的正确方法是编译它,看看有什么问题。 Win32 API 肯定会 - 检查是否存在 NDK 对应项甚至没有意义。 C/C++ RTL 有点棘手——有些函数有对应的,有些没有。但坦率地说,将它们全部枚举并手动匹配是浪费时间。编译器会更快地完成同样的工作。

    【讨论】:

    • 互联网上是否至少有一个文档列出了 NDK 支持的所有可用 C++ 函数? NDK 本身附带的文档非常少。
    • 没有。也是有原因的。因为有 C RTL 函数、C++ RTL 函数、Linux 系统调用、Android 特定函数、可选库中的函数——所有这些都是独立记录的。
    • 可以在 NDK 中找到吗?我一定错过了什么。
    • 它们在 NDK 中支持,但在 NDK 中没有记录。因为有些来自 Linux 内核并记录在 Linux 联机帮助页中,有些来自 GNU C 并记录在 GNU.org,有些来自 Android 本身。 NDK 仅记录了后者,但您已经找到了这些文档。看,究竟是什么问题?给我们一些细节。
    • 我的同事正试图使他在 Windows 平台上编写的 C++ 代码尽可能独立于平台,并且需要完整的 C++ 函数列表,其中包括 pThreads、Sockets 和 C++ RTL,这将适用于 Android(以及稍后的 iOS,但目前仅适用于 Android)。
    【解决方案2】:

    首先,让代码与 Linux 兼容。 Android 库和 Linux 之间的细微差别通常可以逐步解决。请注意,这里有一个移动目标:platform-14 支持的 Linux 标头比 9 多得多。

    【讨论】:

    • 我今天早上搜索并偶然发现:cgi.cs.indiana.edu/~nhusted/dokuwiki/lib/exe/…,其中包含 Linux libc 支持但 Android libc 不支持的 C 函数列表。您认为这是一个很好的起点吗?
    • 不完全是。本文档指的是 Android v. 2.3.4,但今天的系统是 4.1.2。从那时起,许多功能已经暴露出来。另一方面,在野外的大多数 Android 设备都是 2.3.x,因此选择应用程序的向后兼容性级别总是一个艰难的决定。
    • 在过去的一个小时里浏览了整个 Google,但仍然没有找到 Android 仿生支持的 C 库函数列表。 :\
    • 这正是我从一开始就告诉你的,不是吗?
    • 猜猜我要告诉他坏消息了。
    【解决方案3】:

    http://www.tenouk.com/Module000linuxnm3.html

    你能用 libs 代替 .h 文件吗?

    该链接解释了使用“nm”从库中转储符号

    【讨论】:

      猜你喜欢
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-17
      • 1970-01-01
      相关资源
      最近更新 更多