java - Android NDK 中的系统调用

标签 java android c++ android-ndk native

我想使用 android NDK 让我的 c++ 引擎在 android 上工作,而不必用 java 重写引擎。

android 的系统调用,例如触摸输入、加速度计、窗口和大多数 android 应用程序所需的所有其他东西是否可以从 c++ 调用?或者您是否需要制作自己的包装器以便 native 代码可以调用 android java 的东西?

如果可以的话,是否有某种 API 引用可以查看来自 native 代码的所有可能调用?

谢谢

最佳答案

Android NDK 为以下内容提供稳定的 API(请参阅 http://developer.android.com/tools/sdk/ndk/index.html):

  • libc (C library) headers
  • libm (math library) headers
  • JNI interface headers
  • libz (Zlib compression) headers
  • liblog (Android logging) header
  • OpenGL ES 1.1 and OpenGL ES 2.0 (3D graphics libraries) headers
  • libjnigraphics (Pixel buffer access) header (for Android 2.2 and above).
  • A Minimal set of headers for C++ support
  • OpenSL ES native audio libraries
  • Android native application APIS

不保证其他任何东西都适用于所有设备。
您可能还想看看 http://developer.android.com/reference/android/app/NativeActivity.html获取有关如何使用 native 代码实现 Activity 的信息。

关于java - Android NDK 中的系统调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11709267/

相关文章:

android - 实现自 api 17 以来已弃用的滑动抽屉的替代方法

java - Hashmap<Object,Integer> 中的值增量,错误 "Integer cannot be converted to P(object)"Java

java - 为什么 Object 类有 Thread 方法?

java - 使用 SharedPreferences 获得离线高分 - Android (java)

android - 从 LinearLayout (Android) 中删除所有 View

Android:正确停止异步任务

c++ - 带有三个参数的函数 : pointer to double array, 指向最小元素和指向最大元素的指针

c++ - 删除字符串中分隔符之间的字符

java - 如何按特定顺序运行 Maven 测试?

c# - 从 C++ 调用 (C#) .NET Core 方法