Как я могу создать новое NativeWindow в Android NDK? - PullRequest
6 голосов
/ 21 марта 2011

Я попробовал демо test-libstdc ++ и мне понравилось, что я могу запустить его из консоли и все без запуска полноценного приложения для Android.

Я бы хотел создать контекст opengl, чтобы иметь возможность запускать мое приложение opengl es 2.0 из консоли без лишних хлопот.

Любая идея, как я мог бы инициализировать EGL из NDK-приложения, которое не использует нативное действие или что-то еще, то есть оно даже не упаковано в файл .APKK, просто имеет метод main, упакованный как исполняемый linux файл.

Большое спасибо!

UPDATE

Имеет ли это какое-либо отношение к ANativeWindow_acquire в * android / native_window.h`?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 08 апреля 2011

Если вы загляните внутрь деревьев git для Android, вы увидите, что есть несколько простых тестовых приложений, которые создают собственное окно и запускаются из командной строки.

нажмите здесь, чтобы увидетьtests

Что касается вопросов к некоторым из приведенных выше комментариев Альбуса, проблема с перевернутой цепочкой заключается в том, что ваш текущий драйвер может поддерживать только одну переворотную цепочку в системе, и это удерживается SurfaceFlinger с тех пор, какэто сущность, которая может писать в собственное окно / фрейм-буфер.Чтобы обойти это, вы можете просто остановить движок Android Run Time, набрав «stop» в оболочке adb, а затем перезапустить ваше приложение.Чтобы снова запустить движок Android Run, выполните start.

1 голос
/ 21 марта 2011

Вот пример использования EGL из командной строки:

http://jiggawatt.org/badc0de/android/index.html

Однако такой процесс без «легальной» активности пользовательского интерфейса Android будет остановлен системой в любое время за то, что он рассматривается как фоновый процесс. Кроме того, вы не сможете использовать сенсорный экран или ввод с клавиатуры, или любой другой материал, который требует Context, например, выяснить, где установлена ​​SD-карта и т. Д.

...