在AndroidNDK下,是否可以创建一个本机窗口,而无需Java调用来检索曲面? 我试图用C++完全在原生代码中开发Android应用程序。Android NDK api使用Java对象。例如,我看到了以下方法: int32_t ANativeWindow_getHeight(ANativeWindow* window);

在AndroidNDK下,是否可以创建一个本机窗口,而无需Java调用来检索曲面? 我试图用C++完全在原生代码中开发Android应用程序。Android NDK api使用Java对象。例如,我看到了以下方法: int32_t ANativeWindow_getHeight(ANativeWindow* window);,android,android-ndk,java-native-interface,Android,Android Ndk,Java Native Interface,但是要创建一个ANativeWindow,我需要一个Java表面对象 ANativeWindow* ANativeWindow_fromSurface(JNIEnv* env, jobject surface); 有没有其他方法可以在不使用任何java对象的情况下获取详细信息 我不想使用Java回调。这是不可能的。。。过了很长时间我才意识到这一点。答案将是使用一些第三方库,这些库将通过java回调提供api的功能。因此,回电是唯一可用的解决方案 不。即使你的java应用程序是一个空的surfa

但是要创建一个
ANativeWindow
,我需要一个Java表面对象

ANativeWindow* ANativeWindow_fromSurface(JNIEnv* env, jobject surface);
有没有其他方法可以在不使用任何java对象的情况下获取详细信息


我不想使用Java回调。

这是不可能的。。。过了很长时间我才意识到这一点。答案将是使用一些第三方库,这些库将通过java回调提供api的功能。因此,回电是唯一可用的解决方案

不。即使你的java应用程序是一个空的surfaceview,你仍然需要调用它并将其传递下去…谢谢你。。。我想我需要坚持在最坏的情况下回拨:(即使你自己没有编写任何Java代码,一个本地活动仍然需要在你的应用程序进程中运行许多Android提供的类,这些类是从Java源代码编译而来的,因为这正是系统的主要部分在内部工作的方式。