将复杂本机应用程序编译为Android ARM的完整方法

时间:2009-05-30 19:55:54

标签: android java-native-interface native

这是我的第一个S / O问题,请保持温和!

我想了解更多有关将C应用程序移植到本机ARM以便在Android设备上使用的信息。

我可以使用源代码附带的prebuild工具链制作简单的程序,但是如何将这个工具链用于多个文件的应用程序并需要configure和make?

2 个答案:

答案 0 :(得分:1)

这篇文章解释得很好: http://davanum.wordpress.com/2007/12/09/android-invoke-jni-based-methods-bridging-cc-and-java/

基本上,你像平常一样创建一个共享库,用JNI包装它并用Java的本机方法调用它。

答案 1 :(得分:1)

在谷歌I / O,他们谈到了引入“NDK” - 本机开发工具包 - 这应该简化创建使用本机(C)代码的应用程序的过程。

在你沿着这条路走得太远之前,值得注意几件事:

  1. NDK将提供有限的功能。它主要是为了提供一种本地运行极其时间敏感的代码的方法,但是无法访问整个系统,也不会提供替代的应用程序开发模型(您仍然需要编写大部分应用程序)为Dalvik)。
  2. 您可以在没有NDK的情况下编写本机应用程序,但是您无法使用应用商店支持的传统APK应用程序包将它们分发给最终用户。如果您的应用程序作为运营商/ OEM构建的一部分进行分发,那么它实际上只是一个可行的选择 - 即使这样也不建议。