带有JNI接口的Android应用程序

时间:2011-03-05 11:16:33

标签: android java-native-interface

Android Marketplace是否允许基于JNI的应用程序?运营商怎么样?在Android应用程序中使用C / C ++库有什么缺点?

2 个答案:

答案 0 :(得分:2)

Q1:是的。我们有一个。

Q2:

  1. 必须创建一个JNI层(更多 代码维护)
  2. 除了Java之外还必须维护c / c ++代码(如果你没有问题) 让两个人都精通)
  3. 由于c / c ++代码中的指针操作,FC的机会更多 (发生在拥有 Java的经验,但不是那么多 在c / c ++中 - 真实体验)
  4. 稍微复杂的构建过程(需要设置一个 建立本土的环境 代码,例如cygwin,构建ARM v5 和v7,包装他们)。 NDK有 不过,这是一个很好的模板。
  5. 利用团队中的C / C ++经验。拾取Java(语言 - 语法)并不是什么大问题。理解JRE和框架的微妙之处需要更多时间。见下面的最后一段。
  6. 你没有问,但是我们走了:拥有本机代码的一大优势是有机会在不同平台(例如iOS和Android)之间共享相同的代码库。

    最后,一个可论证的优势:根据您的团队背景,优化本机C / C ++代码的机会比Java代码更多。请不要点火这一点。这是基于经验或我们的应用程序。我们有经验丰富的C / C ++人员可以微调内存使用(例如节省内存分配)和编写快速的C / C ++代码。对于我所知道的所有人来说,经验丰富的Java团队可能会编写一个同样快速的应用程序。

答案 1 :(得分:0)

Android具有Native Development Kit,或者Android NDK可以使用c / c ++库。它们的目的是实现应用程序的性能关键部分:

  

Android NDK是一款配套工具   允许您构建的Android SDK   你性能至关重要的部分   本机代码中的应用程序。

因此,当然,您可以构建基于jni的应用程序,它们将应用于市场。