如何在我的Java代码中部分使用Android平台本机代码

时间:2014-04-16 12:33:26

标签: android-ndk

我需要调用一个属于用C编写的原生Android代码的函数。我只需要一个函数,本机代码很大。以最佳方式实现这一目标的方法是什么?

1 个答案:

答案 0 :(得分:2)

你介意透露这个功能的名称吗?我在问,因为Android中原生的非文档API可以粗略地分为三类:依赖于ODM的代码,相对稳定的代码,以及系统库不稳定或不导出的代码。

关于第一个,您别无选择,只能使用特定于设备的库。通常,您可以从一个设备下载此类库,并且,您可以在其他设备上动态链接到该系统库的库,并非常小心。典型的例子是OpenMAX系列库(参见例如Creating Android app using OpenMAX library in GB, but showing not found?)。

关于第二个,纯粹主义者将下载部分源代码树并将其编译到本地共享库中,但是重用系统库的做法很普遍(例如参见shared memory in android ndk)。

对于第三种,你别无选择,只能自己重新编译AOSP代码。