编译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

回到顶部