#android #game-engine #live-wallpaper #andengine
#Android #игровой движок #живые обои #andengine
Вопрос:
04-24 13:30:59.312: VERBOSE/RenderScript(6044): RS Thread exited
04-24 13:30:59.320: ERROR/libEGL(6044): call to OpenGL ES API with no current context (logged once per thread)
04-24 13:30:59.335: WARN/WallpaperService(6044): Ignoring updateSurface: destroyed
04-24 13:30:59.335: WARN/WindowManager(108): Window android.view.IWindow$Stub$Proxy@408968d0 is already added
04-24 13:30:59.355: DEBUG/dalvikvm(6083): GC_EXTERNAL_ALLOC freed 23K, 52% free 2598K/5379K, external 1625K/2137K, paused 55ms
04-24 13:30:59.425: DEBUG/GLWallpaperService(6083): onSurfaceDestroyed()
04-24 13:30:59.496: WARN/InputQueue-JNI(6044): Input channel is not initialized.
04-24 13:30:59.515: DEBUG/AndroidRuntime(6044): Shutting down VM
04-24 13:30:59.539: WARN/dalvikvm(6044): threadid=1: thread exiting with uncaught exception (group=0x40015560)
04-24 13:30:59.640: ERROR/AndroidRuntime(6044): FATAL EXCEPTION: main
04-24 13:30:59.640: ERROR/AndroidRuntime(6044): java.lang.RuntimeException: Failed to register input channel. Check logs for details.
04-24 13:30:59.640: ERROR/AndroidRuntime(6044): at android.view.InputQueue.nativeRegisterInputChannel(Native Method)
04-24 13:30:59.640: ERROR/AndroidRuntime(6044): at android.view.InputQueue.registerInputChannel(InputQueue.java:92)
04-24 13:30:59.640: ERROR/AndroidRuntime(6044): at android.service.wallpaper.WallpaperService$Engine.updateSurface(WallpaperService.java:521)
04-24 13:30:59.640: ERROR/AndroidRuntime(6044): at android.service.wallpaper.WallpaperService$IWallpaperEngineWrapper.executeMessage(WallpaperService.java:904)
04-24 13:30:59.640: ERROR/AndroidRuntime(6044): at com.android.internal.os.HandlerCaller$MyHandler.handleMessage(HandlerCaller.java:61)
04-24 13:30:59.640: ERROR/AndroidRuntime(6044): at android.os.Handler.dispatchMessage(Handler.java:99)
04-24 13:30:59.640: ERROR/AndroidRuntime(6044): at android.os.Looper.loop(Looper.java:123)
04-24 13:30:59.640: ERROR/AndroidRuntime(6044): at android.app.ActivityThread.main(ActivityThread.java:3683)
04-24 13:30:59.640: ERROR/AndroidRuntime(6044): at java.lang.reflect.Method.invokeNative(Native Method)
04-24 13:30:59.640: ERROR/AndroidRuntime(6044): at java.lang.reflect.Method.invoke(Method.java:507)
04-24 13:30:59.640: ERROR/AndroidRuntime(6044): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-24 13:30:59.640: ERROR/AndroidRuntime(6044): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-24 13:30:59.640: ERROR/AndroidRuntime(6044): at dalvik.system.NativeStart.main(Native Method)
Я разрабатывал Livewallpaper, который использует игровой движок с открытым исходным кодом под названием Andengine (andengine.org ), теперь он работает нормально, за исключением того, что иногда, когда пользователь устанавливает my Livewallpaper в качестве обоев, выдается исключение со словами «Не удалось зарегистрировать входной канал. Проверьте журналы для получения подробной информации.», но проблема в том, что Livewallpaper все еще работает и не завершался.
Есть идеи, что может вызвать эту проблему, или как я могу это исправить?
Комментарии:
1. (1) Вы проверили «журналы»? (2) Есть ли у вас второй раунд трассировки стека, который начинается с «вызвано:»?
2. @Aleadam Нет, есть только один раунд трассировки стека. И единственные журналы, которые я нашел, связанные с этой проблемой, — это «вызов OpenGL ES API без текущего контекста (регистрируется один раз в потоке)», как я перечислил выше
3. @Aleadam также «Входной канал не инициализирован»
4. @Aleadam Я узнал, что это из-за того, что я использовал launcher pro для тестирования, он не выпускает аппаратное обеспечение, которое в настоящее время использовала OpenGL ES, когда пользователь нажимает кнопку «Установить обои»
Ответ №1:
Извините, я смог найти только то, что InputQueue
«предоставляет приложению механизм получения входящих событий ввода. В настоящее время можно использовать только из собственного кода «.
Проверьте GLSurfaceView
класс в andengine. Это может дать вам представление о том, что не так с вашими обоями
Вы также можете захотеть проверить, почему это происходит:
04-24 13:30:59.320: ERROR/libEGL(6044): call to OpenGL ES API with no current context (logged once per thread)
Комментарии:
1. Большое вам спасибо, я понял, что это как-то связано с Launcher Pro, который не выпустил аппаратное обеспечение после того, как пользователь установил меня в качестве обоев достаточно быстро. Если я переключусь на исходный домашний экран Android, исключение исчезнет.
2. У Launcher Pro есть свои проблемы. Я видел несколько странных ошибок с ним (хотя, ИМХО, это все еще лучший лаунчер). Я бы подумал о том, чтобы отправить им отчет об ошибке, чтобы они могли попытаться исправить это и выпустить hw раньше.
3. Да, но я не уверен, в чем причина, но это определенно их проблема, поэтому я отправлю им отчет об ошибке.