我想編譯一個Android OpenGL控制臺應用程序,您可以直接從控制臺啟動Android x86或從Android x86 GUI中的Android終端應用程序運行。如何在不需要Android操作系統源代碼的情況下在Android NDK中創建新的NativeWindow?
我想與NDK理想構建應用程序,但如果有必要,我可以在Ubuntu上構建它。
gl_basic.cpp將是巨大的,但我不希望有下載和構建整個Android源代碼只是為了建立這樣一個小程序(gl_basic.cpp只有364行代碼!)
我試圖用ndk-build.cmd構建gl_basic.cpp,但是我找不到FramebufferNativeWindow.h ...然后如果我不斷下載更多的頭文件到我的本地項目,我最終會遇到鏈接錯誤。我想知道是否有更簡單的方法使用NDK構建類似gl_basic.cpp(帶有main()函數的Android OpenGL可執行文件)。
PS我知道編寫Android應用程序的正常方式是創建一個APK,但我不想這樣做 - 我想要一個獨立的Linux可執行文件,并且可以運行main()和OpenGL在Android內運行的Android Terminal Emulator應用程序...在基于x86的Android(不是ARM)上。
另外讓我補充一點,我知道你可以在Application.mk文件中的“包括$(BUILD_EXECUTABLE)”在Android.mk文件和“APP_ABI:= x86”。使用x86 Android上的Android Terminal Emulator運行ndk-build.cmd構建Android可執行文件并使用printf()打印“hello world”,我沒有問題。
我遇到的問題是用OpenGL創建這樣一個可執行文件。我認為部分魔法是FramebufferNativeWindow.h,但也有它自己的包含......我想知道是否可以用ndk-build.cmd構建類似于gl_basic.cpp的東西(甚至可以在Ubuntu上使用make和gcc )將在Android Terminal Emulator中運行...但我不想下載和構建整個Android源代碼樹。
摘要:如何創建一個包含在NDK中的頭文件和庫的本機窗口?我知道它可以通過從libui調用android_createDisplaySurface()來完成。但是,libui不作為NDK的一部分包含在內。那么我怎樣才能用純C++(無Java)代碼從NDK創建一個本地窗口(供EGL和OpenGL使用)呢? eglCreateWindowSurface()的第三個參數是NativeWindowType,所以我需要以某種方式創建一個NativeWindow。簡介:我的最終目標是編寫一個C++可執行文件,其中包含一個繪制OpenGL三角形的main()函數,可以在Android x86控制臺模式下運行。沒有Java。
2014-01-22
pemcode
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态