我想使用ICS/JB相機應用程式具有的全景模式。 我已經下載的源代碼(有資源),并設法解決所有的代碼編譯錯誤,但只要我開始我的設備上的應用(運行JB),我得到這個錯誤:
10-25 14:42:53.617: E/AndroidRuntime(23147): FATAL EXCEPTION: GLThread 2586
10-25 14:42:53.617: E/AndroidRuntime(23147): java.lang.UnsatisfiedLinkError: Native method not found: com.app.camera.panorama.MosaicRenderer.reset:(IIZ)V
10-25 14:42:53.617: E/AndroidRuntime(23147): at com.app.camera.panorama.MosaicRenderer.reset(Native Method)
10-25 14:42:53.617: E/AndroidRuntime(23147): at com.app.camera.panorama.MosaicRendererSurfaceViewRenderer.onSurfaceChanged(MosaicRendererSurfaceViewRenderer.java:49)
10-25 14:42:53.617: E/AndroidRuntime(23147): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1505)
10-25 14:42:53.617: E/AndroidRuntime(23147): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
我做有一個libjni-mosaic lib,位于armeabi-v7a/armeabi/x86中,它似乎可以很好地加載它,但它可能不包含MosaicRenderer實作的方法。
我也試過編譯CyanogenMod的相機應用https://github.com/CyanogenMod/android_packages_apps_Camera/tree/ics但我得到了同樣的錯誤......
相機本身的作業原理,為劇照和視頻錄制,但只要我切換到全景模式,它崩潰。
任何人都可以指向我正確的jni-mosaic lib或者我做錯了什么?我需要做些什么才能使我的應用程式使用JNI/SO檔案?
uj5u.com熱心網友回復:
您移動的Java類MosaicRenderer包裝com.app.camera.panorama,但mosaic_renderer_jni.cpp檔案仍具有本地方法是指com.android.camera.panorama,像
JNIEXPORT void Java_com_android_camera_panorama_MosaicRenderer_reset(
你應該改變在本機代碼的函式名稱,以反映新包名稱,例如
JNIEXPORT void Java_com_app_camera_panorama_MosaicRenderer_reset(
uj5u.com熱心網友回復:
如果有人仍有意打造谷歌的原生相機的應用程式,我建議你這個倉庫https://android.googlesource.com/platform/packages/apps/Camera2/它不需要建立所有的Android OS code.It幫了我很多。
uj5u.com熱心網友回復:
混淆機制導致的吧。proguard.flags中加上一行:
-keep class com.yunos.camera.* {*;}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/73524.html
標籤:其他技術討論專區
下一篇:VAE
