编译ICS/JB相机应用程序 - 原生库jni-mosaic错误
我想使用ICS/JB相机应用程序具有的全景模式。 我已经下载的源代码(有资源),并设法解决所有的代码编译错误,但只要我开始我的设备上的应用(运行JB),我得到这个错误:编译ICS/JB相机应用程序 - 原生库jni-mosaic错误
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文件?
回答:
您移动的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(
回答:
如果有人仍有意打造谷歌的原生相机的应用程序,我建议你这个仓库https://android.googlesource.com/platform/packages/apps/Camera2/它不需要建立所有的Android OS code.It帮了我很多。
以上是 编译ICS/JB相机应用程序 - 原生库jni-mosaic错误 的全部内容, 来源链接: utcz.com/qa/258807.html