0

我正处于一个项目的最开始,我们正在尝试为安卓智能手机编写一个应用程序,该应用程序将调用一个用 C 编写的共享库。

这样做的方法似乎是使用 Android NDK 以与智能手机硬件兼容的二进制格式构建库,然后使用 JNI 从 Java 调用共享库。可能在此过程中使用 SWIG 来促进 JNI 包装器功能。

但在我走这条路之前,我是否错过了让 C 应用程序在智能手机上运行的任何可能更简单的方法?让我想到可能还有其他选择的是 Canonical 项目希望在智能手机上运行 ubuntu ( http://www.ubuntu.com/devices/android ),但它似乎还不可用。

感激地收到有关此主题的任何横向想法

4

1 回答 1

4

据我所知,在 android 中使用本机代码时,NDK 是首选路线。您还可以围绕您的 C 代码构建一个 Java 包装器库,与您的 Android 项目分开,并将该 .jar 包含在您的 Android 应用程序中。这使用标准 Java 而不是 Google 的 NDK,而且我已经使用了几个在 android 中以这种方式构建的库,而且几乎没有任何努力。

于 2012-07-24T15:28:31.437 回答