有人能解释一下Java JNI和Android NDK之间的区别,它们如何相同以及如何结合使用吗?我没有找到任何能够清晰解释两者差异的资料,感到有些困惑。
谢谢!
有人能解释一下Java JNI和Android NDK之间的区别,它们如何相同以及如何结合使用吗?我没有找到任何能够清晰解释两者差异的资料,感到有些困惑。
谢谢!
JNI是Java处理调用本地/C ++代码并从那里回调Java的方式,它与Android无关-它是Java语言特性。
Android NDK是一种使用JNI调用的代码编写Android应用程序的方法。它专门针对Android,并允许本地代码在该级别上访问Android API。
使用 Android Studio 2.2 及更高版本,您可以使用 NDK 将 C 和 C++ 代码编译成本地库并使用 Gradle(IDE 集成的构建系统)将其打包到 APK 中。然后,您的 Java 代码可以通过 Java Native Interface (JNI) 框架调用本地库中的函数。
- Ben Butterworth