在没有 NDK 的情况下开发原生 C 应用程序 android?

fru*_*ick 6 android android-ndk

好吧,这是一个奇怪的:

有没有一种方法可以在不使用 Android NDK 的情况下为 Android 开发本机 C 应用程序或库?

NDK 发布之前发生了什么?(时间不长,我想它是在一两年前发布的)。

小智 5

显然,你可以——我的一个朋友是一位真正的 Android 专家,他完全手工构建了一个基于 GCC 的本机工具链。他还修复了 Android libc 中一些缺失的部分。主要思想如下:GCC 内置了对 arm-elf-linux 目标的支持,因此使用适当的构建脚本,您可以将其配置为针对 Android 进行构建。但是,您必须root手机才能运行生成的二进制文件。更酷的事情是,由于 GCC 是一个自托管编译器,使用 arm-linux-elf 工具链,您可以再次重新编译 GCC,并将工具链放在手机本身上


Mic*_*ael 4

在 NDK 发布之前,唯一官方支持的 Android 应用程序开发方式是使用 Android SDK 并用 Java 编写应用程序。

正如其他人所提到的,可以将某些应用程序交叉编译为完全独立的应用程序,并在已 root 的手机上运行它们。这样做的缺点应该是显而易见的:很少有人能够运行你的应用程序(他们还需要 root,而且你无法在 Play 商店上下载你的应用程序);您甚至可能会自己在不同的设备上遇到兼容性问题,例如,如果您依赖于各种库的动态链接(您可能需要这样做以减小二进制文件的大小)。

TL;DR:这是可能的,但受到严重限制,并且不推荐。