Giter Site home page Giter Site logo

pqpo / smartcamera Goto Github PK

View Code? Open in Web Editor NEW
1.3K 28.0 218.0 252.29 MB

📷SmartCamera 是一个 Android 相机拓展库,能够实时采集并且识别相机内物体边框是否吻合指定区域。SmartCamera is an Android camera extension library,provides a scanning module that can recognizes whether the object's border inside the camera matches the area in real time.

Home Page: https://pqpo.me/2018/09/12/android-camera-real-time-scanning/

Java 99.58% CMake 0.05% C++ 0.36%

smartcamera's Issues

定制识别物品

如果不是银行卡,身份证,别的矩形边框能不能自定义识别呢?

couldn’t find “libsmart_camera.so”

Process: cn.fundview.smartcropperdemo, PID: 24063
java.lang.RuntimeException: Unable to start activity ComponentInfo{cn.fundview.smartcropperdemo/cn.fundview.smartcropperdemo.MainActivity}: android.view.InflateException: Binary XML file line #6: Binary XML file line #6: Error inflating class me.pqpo.smartcameralib.SmartCameraView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2915)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2980)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1686)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:203)
at android.app.ActivityThread.main(ActivityThread.java:6533)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1113)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:974)
Caused by: android.view.InflateException: Binary XML file line #6: Binary XML file line #6: Error inflating class me.pqpo.smartcameralib.SmartCameraView
Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class me.pqpo.smartcameralib.SmartCameraView
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
at android.view.LayoutInflater.createView(LayoutInflater.java:645)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:787)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:858)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
at cn.fundview.smartcropperdemo.MainActivity.onCreate(MainActivity.java:29)
at android.app.Activity.performCreate(Activity.java:6710)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1122)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2868)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2980)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1686)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:203)
at android.app.ActivityThread.main(ActivityThread.java:6533)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1113)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:974)
12-20 14:49:02.250 24063-24063/cn.fundview.smartcropperdemo E/AndroidRuntime: Caused by: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/cn.fundview.smartcropperdemo-2/base.apk", zip file "/data/app/cn.fundview.smartcropperdemo-2/split_lib_dependencies_apk.apk", zip file "/data/app/cn.fundview.smartcropperdemo-2/split_lib_slice_0_apk.apk", zip file "/data/app/cn.fundview.smartcropperdemo-2/split_lib_slice_1_apk.apk", zip file "/data/app/cn.fundview.smartcropperdemo-2/split_lib_slice_2_apk.apk", zip file "/data/app/cn.fundview.smartcropperdemo-2/split_lib_slice_3_apk.apk", zip file "/data/app/cn.fundview.smartcropperdemo-2/split_lib_slice_4_apk.apk", zip file "/data/app/cn.fundview.smartcropperdemo-2/split_lib_slice_5_apk.apk", zip file "/data/app/cn.fundview.smartcropperdemo-2/split_lib_slice_6_apk.apk", zip file "/data/app/cn.fundview.smartcropperdemo-2/split_lib_slice_7_apk.apk", zip file "/data/app/cn.fundview.smartcropperdemo-2/split_lib_slice_8_apk.apk", zip file "/data/app/cn.fundview.smartcropperdemo-2/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/cn.fundview.smartcropperdemo-2/lib/arm64, /data/app/cn.fundview.smartcropperdemo-2/base.apk!/lib/arm64-v8a, /data/app/cn.fundview.smartcropperdemo-2/split_lib_dependencies_apk.apk!/lib/arm64-v8a, /data/app/cn.fundview.smartcropperdemo-2/split_lib_slice_0_apk.apk!/lib/arm64-v8a, /data/app/cn.fundview.smartcropperdemo-2/split_lib_slice_1_apk.apk!/lib/arm64-v8a, /data/app/cn.fundview.smartcropperdemo-2/split_lib_slice_2_apk.apk!/lib/arm64-v8a, /data/app/cn.fundview.smartcropperdemo-2/split_lib_slice_3_apk.apk!/lib/arm64-v8a, /data/app/cn.fundview.smartcropperdemo-2/split_lib_slice_4_apk.apk!/lib/arm64-v8a, /data/app/cn.fundview.smartcropperdemo-2/split_lib_slice_5_apk.apk!/lib/arm64-v8a, /data/app/cn.fundview.smartcropperdemo-2/split_lib_slice_6_apk.apk!/lib/arm64-v8a, /data/app/cn.fundview.smartcropperdemo-2/split_lib_slice_7_apk.apk!/lib/arm64-v8a, /data/app/cn.fundview.smartcropperdemo-2/split_lib_slice_8_apk.apk!/lib/arm64-v8a, /data/app/cn.fundview.smartcropperdemo-2/split_lib_slice_9_apk.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]] couldn't find "libsmart_camera.so"
at java.lang.Runtime.loadLibrary0(Runtime.java:972)
at java.lang.System.loadLibrary(System.java:1530)
at me.pqpo.smartcameralib.SmartScanner.(SmartScanner.java:150)
at me.pqpo.smartcameralib.SmartCameraView.init(SmartCameraView.java:50)
at me.pqpo.smartcameralib.SmartCameraView.(SmartCameraView.java:45)
at me.pqpo.smartcameralib.SmartCameraView.(SmartCameraView.java:40)
... 25 more
下载了github上的项目 里面也没有so库

FAILED: ../../../../build/intermediates/cmake/debug/obj/x86_64/libsmart_camera.so

你好,看之前的问题,找到一个x86文件夹下的so库,但是这里报错要x86_64下面的so库,我编译通不过了,这个有没有别的办法可以解决的?

Build command failed.
Error while executing process C:\Users\GAOKAI\AppData\Local\Android\Sdk\cmake\3.6.4111459\bin\cmake.exe with arguments {--build D:\APP_android\GitHub\SmartCamera-master\smartcameralib.cxx\cmake\debug\armeabi-v7a --target smart_camera}
[1/1] Linking CXX shared library ........\build\intermediates\cmake\debug\obj\armeabi-v7a\libsmart_camera.so
FAILED: cmd.exe /C "cd . && C:\Users\GAOKAI\AppData\Local\Android\android-ndk-r21b\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=armv7-none-linux-androideabi21 --gcc-toolchain=C:/Users/GAOKAI/AppData/Local/Android/android-ndk-r21b/toolchains/llvm/prebuilt/windows-x86_64 --sysroot=C:/Users/GAOKAI/AppData/Local/Android/android-ndk-r21b/toolchains/llvm/prebuilt/windows-x86_64/sysroot -fPIC -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -mthumb -Wformat -Werror=format-security -std=c++11 -frtti -O0 -fno-limit-debug-info -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libgcc_real.a -Wl,--exclude-libs,libatomic.a -static-libstdc++ -Wl,--build-id -Wl,--fatal-warnings -Wl,--exclude-libs,libunwind.a -Wl,--no-undefined -Qunused-arguments -shared -Wl,-soname,libsmart_camera.so -o ........\build\intermediates\cmake\debug\obj\armeabi-v7a\libsmart_camera.so CMakeFiles/smart_camera.dir/src/main/cpp/android_utils.cpp.o CMakeFiles/smart_camera.dir/src/main/cpp/opencv_utils.cpp.o CMakeFiles/smart_camera.dir/src/main/cpp/smart_camera.cpp.o -LD:/APP_android/GitHub/SmartCamera-master/smartcameralib/opencv/lib/armeabi-v7a -LD:/APP_android/GitHub/SmartCamera-master/smartcameralib/opencv/3rdparty/armeabi-v7a -lopencv_imgproc -lopencv_core C:/Users/GAOKAI/AppData/Local/Android/android-ndk-r21b/toolchains/llvm/prebuilt/windows-x86_64/sysroot/usr/lib/arm-linux-androideabi/libz.a -ltegra_hal -ltbb -lcpufeatures -llog -ljnigraphics -latomic -lm && cd ."
bionic/libc/include/bits/fortify/unistd.h:174: error: undefined reference to '__write_chk'

bionic/libc/include/bits/fortify/unistd.h:174: error: undefined reference to '__write_chk'

clang++: error: linker command failed with exit code 1 (use -v to see invocation)

ninja: build stopped: subcommand failed.

Android 4.1.2 运行崩溃

E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{me.pqpo.scan/me.pqpo.scan.MainActivity}: android.view.InflateException: Binary XML file line #10: Error inflating class me.pqpo.smartcameralib.SmartCameraView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2127)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2152)
at android.app.ActivityThread.access$700(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1258)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4944)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1043)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:810)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.view.InflateException: Binary XML file line #10: Error inflating class me.pqpo.smartcameralib.SmartCameraView
at android.view.LayoutInflater.createView(LayoutInflater.java:619)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:693)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:752)
at android.view.LayoutInflater.inflate(LayoutInflater.java:495)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
at android.support.v7.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
at me.pqpo.scan.MainActivity.onCreate(MainActivity.java:61)
at android.app.Activity.performCreate(Activity.java:5185)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2091)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2152) 
at android.app.ActivityThread.access$700(ActivityThread.java:144) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1258) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:137) 
at android.app.ActivityThread.main(ActivityThread.java:4944) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1043) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:810) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
at android.view.LayoutInflater.createView(LayoutInflater.java:593)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:693) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:752) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:495) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 
at android.support.v7.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469) 
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
at me.pqpo.scan.MainActivity.onCreate(MainActivity.java:61) 
at android.app.Activity.performCreate(Activity.java:5185) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2091) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2152) 
at android.app.ActivityThread.access$700(ActivityThread.java:144) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1258) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:137) 
at android.app.ActivityThread.main(ActivityThread.java:4944) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1043) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:810) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.ExceptionInInitializerError
at me.pqpo.smartcameralib.SmartCameraView.init(SmartCameraView.java:50)
at me.pqpo.smartcameralib.SmartCameraView.(SmartCameraView.java:45)
at me.pqpo.smartcameralib.SmartCameraView.(SmartCameraView.java:40)
at java.lang.reflect.Constructor.constructNative(Native Method) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:417) 
at android.view.LayoutInflater.createView(LayoutInflater.java:593) 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:693) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:752) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:495) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 
at android.support.v7.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469) 
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
at me.pqpo.scan.MainActivity.onCreate(MainActivity.java:61) 
at android.app.Activity.performCreate(Activity.java:5185) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2091) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2152) 
at android.app.ActivityThread.access$700(ActivityThread.java:144) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1258) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:137) 
at android.app.ActivityThread.main(ActivityThread.java:4944) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1043) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:810) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.UnsatisfiedLinkError: Cannot load library: link_image[1891]: 102 could not load needed library 'libgnustl_shared.so' for 'libsmart_camera.so' (load_library[1093]: Library 'libgnustl_shared.so' not found)
at java.lang.Runtime.loadLibrary(Runtime.java:370)
at java.lang.System.loadLibrary(System.java:535)
at me.pqpo.smartcameralib.SmartScanner.(SmartScanner.java:150)
at me.pqpo.smartcameralib.SmartCameraView.init(SmartCameraView.java:50) 
at me.pqpo.smartcameralib.SmartCameraView.(SmartCameraView.java:45) 
at me.pqpo.smartcameralib.SmartCameraView.(SmartCameraView.java:40) 
at java.lang.reflect.Constructor.constructNative(Native Method) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:417) 
at android.view.LayoutInflater.createView(LayoutInflater.java:593) 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:693) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:752) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:495) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 
at android.support.v7.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469) 
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
at me.pqpo.scan.MainActivity.onCreate(MainActivity.java:61) 
at android.app.Activity.performCreate(Activity.java:5185) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2091) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2152) 
at android.app.ActivityThread.access$700(ActivityThread.java:144) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1258) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:137) 
at android.app.ActivityThread.main(ActivityThread.java:4944) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1043) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:810) 
at dalvik.system.NativeStart.main(Native Method) 

没有导入源码,是新建工程,用添加依赖的方式引用你的库。
在 Android 8.0上正常。
在Android 4.1.2 和 4.2 上启动崩溃。报以上错误。

请指教该如何处理.

构建源代码的时候报错

  • What went wrong:
    Execution failed for task ‘:smartcameralib:externalNativeBuildDebug’.

Build command failed.
Error while executing process D:\android-sdk-windows\cmake\3.10.2.4988404\bin\cmake.exe with arguments {–build D:\AndroidStudioProjects\SmartCamera-master\smartcameralib.externalNativeBuild\cmake\debug\arm64-v8a –target smart_camera}
[1/1] Linking CXX shared library ........\build\intermediates\cmake\debug\obj\arm64-v8a\libsmart_camera.so
FAILED: ../../../../build/intermediates/cmake/debug/obj/arm64-v8a/libsmart_camera.so
cmd.exe /C “cd . && D:\android-sdk-windows\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe –target=aarch64-none-linux-android21 –gcc-toolchain=D:/android-sdk-windows/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64 –sysroot=D:/android-sdk-windows/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/sysroot -fPIC -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -std=c++11 -frtti -O0 -fno-limit-debug-info -Wl,–exclude-libs,libgcc_real.a -Wl,–exclude-libs,libatomic.a -static-libstdc++ -Wl,–build-id -Wl,–fatal-warnings -Wl,–no-undefined -Qunused-arguments -shared -Wl,-soname,libsmart_camera.so -o ........\build\intermediates\cmake\debug\obj\arm64-v8a\libsmart_camera.so CMakeFiles/smart_camera.dir/src/main/cpp/android_utils.cpp.o CMakeFiles/smart_camera.dir/src/main/cpp/opencv_utils.cpp.o CMakeFiles/smart_camera.dir/src/main/cpp/smart_camera.cpp.o -LD:/AndroidStudioProjects/SmartCamera-master/smartcameralib/opencv/lib/arm64-v8a -LD:/AndroidStudioProjects/SmartCamera-master/smartcameralib/opencv/3rdparty/arm64-v8a -lopencv_imgproc -lopencv_core D:/android-sdk-windows/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/sysroot/usr/lib/aarch64-linux-android/libz.a -ltegra_hal -ltbb -lcpufeatures -llog -ljnigraphics -latomic -lm && cd .”
D:/android-sdk-windows/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/sysroot/usr/lib/aarch64-linux-android/libz.a(gzwrite.o): In function write(int, void const*, unsigned long pass_object_size0)’: bionic/libc/include/bits/fortify/unistd.h:174: undefined reference to __write_chk’
bionic/libc/include/bits/fortify/unistd.h:174: undefined reference to `__write_chk’
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

AndroidQ打开相机出现异常

作者你好,这是我遇到得异常。
异常信息:java.lang.RuntimeException: java.io.IOException: setPreviewTexture failed
手机型号:pixel one
系统版本:AndroidQ

启动崩溃

无论是用提供的apk还是代码编译,都出现启动崩溃,换了不同手机同样出现。
log如下:
09-30 16:50:01.903 25961-25961/me.pqpo.smartcamera E/libc: Access denied finding property "camera.hal1.packagelist"
09-30 16:50:02.032 25961-25961/me.pqpo.smartcamera E/libc: Access denied finding property "camera.hal1.packagelist"
09-30 16:50:02.935 25961-26018/me.pqpo.smartcamera E/Camera-JNI: Callback buffer was too small! Expected 4147200 bytes, but got 28800 bytes!
Couldn't allocate byte array for JPEG data
09-30 16:50:02.948 25961-26264/me.pqpo.smartcamera E/cv::error(): OpenCV Error: Assertion failed (ssize.area() > 0) in void cv::resize(cv::InputArray, cv::OutputArray, cv::Size, double, double, int), file /hdd2/buildbot/slaves/slave_ardbeg1/50-SDK/opencv/modules/imgproc/src/imgwarp.cpp, line 1968
09-30 16:50:02.949 25961-26264/me.pqpo.smartcamera A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 26264 (processThread), pid 25961 (qpo.smartcamera)

camera识别成功的时候是否可以返回边框坐标

当库识别出对应的证件的四边形的区域的时候,是否可以获取边框上下左右四个坐标点,我需要裁掉图片中多余的留白。现在源代码好像只是识别到的时候,直接调用cameraview.takephoto()截图,谢谢!

裁剪出来的图片不是扫码框内的部分,无法正确演示效果

作者你好:demo裁剪出来的图片不是扫码框内的部分 是不是以下代码需要对原始数据进行方向判断并转换方向?麻烦了
@OverRide
public void onPictureTaken(CameraView cameraView, byte[] data) {
super.onPictureTaken(cameraView, data);
//TODO data的方向与预览的不一致
mCameraView.cropImage(data, new SmartCameraView.CropCallback() {
@OverRide
public void onCropped(Bitmap cropBitmap) {
if (cropBitmap != null) {
showPicture(cropBitmap);
}
}
});
}

arm64-v8a架构编译不了

在opencv\lib\arm64-v8a目录下添加OpenCV 3.4.4版libopencv_core、libopencv_imgproc和libtbb库,编译还是报错。
Execution failed for task ':smartcameralib:externalNativeBuildDebug'.

Build command failed.
Error while executing process D:\Android\android-sdk\cmake\3.6.4111459\bin\cmake.exe with arguments {--build D:\workspace\SmartCamera-master\smartcameralib.externalNativeBuild\cmake\debug\arm64-v8a --target smart_camera}
[1/1] Linking CXX shared library ........\build\intermediates\cmake\debug\obj\arm64-v8a\libsmart_camera.so
FAILED: cmd.exe /C "cd . && D:\Android\android-sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=aarch64-none-linux-android --gcc-toolchain=D:/Android/android-sdk/ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64 --sysroot=D:/Android/android-sdk/ndk-bundle/sysroot -fPIC -isystem D:/Android/android-sdk/ndk-bundle/sysroot/usr/include/aarch64-linux-android -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -frtti -lz -O0 -fno-limit-debug-info -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a --sysroot D:/Android/android-sdk/ndk-bundle/platforms/android-21/arch-arm64 -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -shared -Wl,-soname,libsmart_camera.so -o ........\build\intermediates\cmake\debug\obj\arm64-v8a\libsmart_camera.so CMakeFiles/smart_camera.dir/src/main/cpp/android_utils.cpp.o CMakeFiles/smart_camera.dir/src/main/cpp/opencv_utils.cpp.o CMakeFiles/smart_camera.dir/src/main/cpp/smart_camera.cpp.o ../../../../opencv/lib/arm64-v8a/libopencv_imgproc.a ../../../../opencv/lib/arm64-v8a/libopencv_core.a -llog -ljnigraphics -latomic -lm "D:/Android/android-sdk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/libsupc++.a" "D:/Android/android-sdk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/libgnustl_shared.so" && cd ."
../../../../opencv/lib/arm64-v8a/libopencv_core.a(parallel.cpp.o): In function tbb::task_scheduler_init::~task_scheduler_init()': parallel.cpp:(.text._ZN3tbb19task_scheduler_initD2Ev[_ZN3tbb19task_scheduler_initD5Ev]+0x8): undefined reference to tbb::task_scheduler_init::terminate()'
../../../../opencv/lib/arm64-v8a/libopencv_core.a(parallel.cpp.o): In function tbb::interface7::internal::start_for<tbb::blocked_range<int>, (anonymous namespace)::ProxyLoopBody, tbb::auto_partitioner const>::execute()': parallel.cpp:(.text._ZN3tbb10interface78internal9start_forINS_13blocked_rangeIiEEN12_GLOBAL__N_113ProxyLoopBodyEKNS_16auto_partitionerEE7executeEv+0x84): undefined reference to tbb::internal::allocate_continuation_proxy::allocate(unsigned long) const'
parallel.cpp:(.text._ZN3tbb10interface78internal9start_forINS_13blocked_rangeIiEEN12_GLOBAL__N_113ProxyLoopBodyEKNS_16auto_partitionerEE7executeEv+0xac): undefined reference to tbb::internal::allocate_child_proxy::allocate(unsigned long) const' parallel.cpp:(.text._ZN3tbb10interface78internal9start_forINS_13blocked_rangeIiEEN12_GLOBAL__N_113ProxyLoopBodyEKNS_16auto_partitionerEE7executeEv+0x2e4): undefined reference to tbb::internal::allocate_continuation_proxy::allocate(unsigned long) const'
parallel.cpp:(.text._ZN3tbb10interface78internal9start_forINS_13blocked_rangeIiEEN12_GLOBAL__N_113ProxyLoopBodyEKNS_16auto_partitionerEE7executeEv+0x320): undefined reference to tbb::internal::allocate_child_proxy::allocate(unsigned long) const' parallel.cpp:(.text._ZN3tbb10interface78internal9start_forINS_13blocked_rangeIiEEN12_GLOBAL__N_113ProxyLoopBodyEKNS_16auto_partitionerEE7executeEv+0x3f0): undefined reference to tbb::task_group_context::is_group_execution_cancelled() const'
../../../../opencv/lib/arm64-v8a/libopencv_core.a(parallel.cpp.o): In function cv::parallel_for_(cv::Range const&, cv::ParallelLoopBody const&, double)': parallel.cpp:(.text._ZN2cv13parallel_for_ERKNS_5RangeERKNS_16ParallelLoopBodyEd+0xc4): undefined reference to tbb::task_group_context::init()'
parallel.cpp:(.text._ZN2cv13parallel_for_ERKNS_5RangeERKNS_16ParallelLoopBodyEd+0xd4): undefined reference to tbb::internal::allocate_root_with_context_proxy::allocate(unsigned long) const' parallel.cpp:(.text._ZN2cv13parallel_for_ERKNS_5RangeERKNS_16ParallelLoopBodyEd+0x11c): undefined reference to tbb::internal::get_initial_auto_partitioner_divisor()'
parallel.cpp:(.text._ZN2cv13parallel_for_ERKNS_5RangeERKNS_16ParallelLoopBodyEd+0x14c): undefined reference to tbb::task_group_context::~task_group_context()' parallel.cpp:(.text._ZN2cv13parallel_for_ERKNS_5RangeERKNS_16ParallelLoopBodyEd+0x170): undefined reference to tbb::task_group_context::~task_group_context()'
parallel.cpp:(.text._ZN2cv13parallel_for_ERKNS_5RangeERKNS_16ParallelLoopBodyEd+0x188): undefined reference to tbb::internal::allocate_root_with_context_proxy::free(tbb::task&) const' ../../../../opencv/lib/arm64-v8a/libopencv_core.a(parallel.cpp.o): In function cv::getNumThreads()':
parallel.cpp:(.text._ZN2cv13getNumThreadsEv+0x24): undefined reference to tbb::task_scheduler_init::default_num_threads()' ../../../../opencv/lib/arm64-v8a/libopencv_core.a(parallel.cpp.o): In function cv::setNumThreads(int)':
parallel.cpp:(.text._ZN2cv13setNumThreadsEi+0x28): undefined reference to tbb::task_scheduler_init::terminate()' parallel.cpp:(.text._ZN2cv13setNumThreadsEi+0x44): undefined reference to tbb::task_scheduler_init::initialize(int)'
../../../../opencv/lib/arm64-v8a/libopencv_core.a(parallel.cpp.o): In function _GLOBAL__sub_I_parallel.cpp': parallel.cpp:(.text.startup._GLOBAL__sub_I_parallel.cpp+0x20): undefined reference to tbb::task_scheduler_init::initialize(int, unsigned long)'
../../../../opencv/lib/arm64-v8a/libopencv_core.a(parallel.cpp.o):(.data.rel.ro._ZTIN3tbb10interface78internal9flag_taskE[_ZTIN3tbb10interface78internal9flag_taskE]+0x10): undefined reference to typeinfo for tbb::task' ../../../../opencv/lib/arm64-v8a/libopencv_core.a(parallel.cpp.o):(.data.rel.ro._ZTVN3tbb10interface78internal9flag_taskE[_ZTVN3tbb10interface78internal9flag_taskE]+0x28): undefined reference to tbb::task::note_affinity(unsigned short)'
../../../../opencv/lib/arm64-v8a/libopencv_core.a(parallel.cpp.o):(.data.rel.ro._ZTIN3tbb10interface78internal9start_forINS_13blocked_rangeIiEEN12_GLOBAL__N_113ProxyLoopBodyEKNS_16auto_partitionerEEE+0x10): undefined reference to `typeinfo for tbb::task'
clang++.exe: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

启动崩溃怎么回事

12-20 09:45:00.821 18489-18489/cn.fundview.agriculturemarket.debug E/AndroidRuntime: FATAL EXCEPTION: main
Process: cn.fundview.agriculturemarket.debug, PID: 18489
java.lang.RuntimeException: Unable to start activity ComponentInfo{cn.fundview.agriculturemarket.debug/cn.fundview.agriculturemarket.mvp.features.test.TestActivity}: android.view.InflateException: Binary XML file line #6: Binary XML file line #6: Error inflating class me.pqpo.smartcameralib.SmartCameraView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2915)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2980)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1686)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:203)
at android.app.ActivityThread.main(ActivityThread.java:6533)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1113)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:974)
Caused by: android.view.InflateException: Binary XML file line #6: Binary XML file line #6: Error inflating class me.pqpo.smartcameralib.SmartCameraView
Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class me.pqpo.smartcameralib.SmartCameraView
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
at android.view.LayoutInflater.createView(LayoutInflater.java:645)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:787)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:858)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
at cn.fundview.agriculturemarket.mvp.features.test.TestActivity.onCreate(TestActivity.java:30)
at android.app.Activity.performCreate(Activity.java:6710)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1122)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2868)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2980)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1686)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:203)
at android.app.ActivityThread.main(ActivityThread.java:6533)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1113)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:974)
Caused by: android.view.InflateException: Binary XML file line #16: Binary XML file line #16: Error inflating class android.view.TextureView
Caused by: android.view.InflateException: Binary XML file line #16: Error inflating class android.view.TextureView
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
at android.view.LayoutInflater.createView(LayoutInflater.java:645)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:700)
at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:68)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:717)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:785)
12-20 09:45:00.823 18489-18489/cn.fundview.agriculturemarket.debug E/AndroidRuntime: at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:858)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
at android.view.View.inflate(View.java:21380)
at com.google.android.cameraview.TextureViewPreview.(TextureViewPreview.java:38)
at com.google.android.cameraview.CameraView.(CameraView.java:107)
at me.pqpo.smartcameralib.SmartCameraView.(SmartCameraView.java:44)
at me.pqpo.smartcameralib.SmartCameraView.(SmartCameraView.java:40)
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
at android.view.LayoutInflater.createView(LayoutInflater.java:645)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:787)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:858)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
at cn.fundview.agriculturemarket.mvp.features.test.TestActivity.onCreate(TestActivity.java:30)
at android.app.Activity.performCreate(Activity.java:6710)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1122)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2868)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2980)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1686)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:203)
at android.app.ActivityThread.main(ActivityThread.java:6533)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1113)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:974)
Caused by: java.lang.UnsupportedOperationException: TextureView doesn't support displaying a background drawable
at android.view.TextureView.setBackgroundDrawable(TextureView.java:307)
at android.view.View.setBackground(View.java:18606)
at android.view.View.(View.java:4661)
at android.view.View.(View.java:4170)
at android.view.View.(View.java:4149)
at android.view.TextureView.(TextureView.java:151)
... 42 more

sending message to a Handler on a dead thread

java.lang.IllegalStateException: Handler (com.google.android.cameraview.CameraImpl$2) {c7663c0} sending message to a Handler on a dead thread
at android.os.MessageQueue.enqueueMessage(MessageQueue.java:545)
at android.os.Handler.enqueueMessage(Handler.java:661)
at android.os.Handler.sendMessageAtTime(Handler.java:630)
at android.os.Handler.sendMessageDelayed(Handler.java:600)
at android.os.Handler.sendEmptyMessageDelayed(Handler.java:564)
at android.os.Handler.sendEmptyMessage(Handler.java:549)
at com.google.android.cameraview.CameraImpl$3.onPreviewFrame(CameraImpl.java:140)
at android.hardware.Camera$EventHandler.handleMessage(Camera.java:1262)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6710)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:770)

部分机型上出现问题, onResume调用了start() startScan

java.lang.IllegalStateException: Camera is not ready. Call start() before takePicture().
at com.google.android.cameraview.CameraImpl.takePicture(CameraImpl.java:298)
at com.google.android.cameraview.CameraView.takePicture(CameraView.java:401)
at com.zwys.spfscan.page.ScanCameraActivity.onClick(ScanCameraActivity.java:155)
at com.zwys.spfscan.page.ScanCameraActivity_ViewBinding$2.doClick(ScanCameraActivity_ViewBinding.java:56)
at butterknife.internal.DebouncingOnClickListener.onClick(DebouncingOnClickListener.java:18)
at android.view.View.performClick(View.java:6659)
at android.view.View.performClickInternal(View.java:6631)
at android.view.View.access$3100(View.java:790)
at android.view.View$PerformClick.run(View.java:26187)
at android.os.Handler.handleCallback(Handler.java:907)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:216)
at android.app.ActivityThread.main(ActivityThread.java:7625)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)

SIMPLE: Error configuring

Android 3.3.1
NDK 19.1.5304403
LLDB 3.1.4508709
Platform-tools 28.0.23
Gradle 4.4.
Android Plugin version 3.1.4

我要怎么做?

您这两个项目我都没运行起来。

还有,你这个库我要怎么引用到自己的项目里?能简单说下吗?
单独导入您的lib module不行,试过了。

不支持魅族机型

作者你好!我是在使用1.3.2的时候发现,魅族的机都会报这个错误
image
目前只发现魅族会出错(魅族15,魅族pro6s和魅蓝metal)

关于视频流后台处理的问题

问题2:后台处理与前端同步显示

  • 请问如何将后台处理的线程的结果与UI的绘制线程友好的链接起来
    比如:后台处理得到文档的四个顶点,如何将这些顶点坐标正确传给绘图层?blog中的
    processHandler.sendEmptyMessage(1);
    交给后台处理,这是并发性的,如何将处理结果同步显示到绘图?

问题1: 程序与blog的问题

首先感谢Android 端相机视频流采集与实时边框识别中提到的一些思路,奇怪的发现github中的程序并未使用blog中提到的策略,比如:SmartCameraView.java (49~69行)

private void init() {
        smartScanner = new SmartScanner();
        uiHandler = new ScanResultHandler(this);
        addCallback(new CameraImpl.Callback() {
            @Override
            public void onPicturePreview(CameraImpl camera, byte[] data) {
                super.onPicturePreview(camera, data);
                if (data == null || data.length == 0 || !scanning) {
                    return;
                }
                int previewRotation = getPreviewRotation();
                Size size = getPreviewSize();
                Rect revisedMaskRect = getAdjustPreviewMaskRect();
                if (revisedMaskRect != null && size != null) {
                    int result = smartScanner.previewScan(data, size.getWidth(), size.getHeight(), previewRotation, revisedMaskRect);
                    uiHandler.obtainMessage(result, data).sendToTarget();
                }
            }
        });
    }

这里没用到后台处理的操作吧?

TextureView doesn't support displaying a background drawable

布局中尝试android:background="@null"
代码中添加@OverRide
public void setBackgroundDrawable(Drawable background) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N && background != null) {
setBackgroundDrawable(background);
}
}
建议作者在源码中添加上,不然引入依赖后再android 7.0 以上的机械上崩溃

vivoY75和ZTE BA520扫描崩溃(不是必发,但是发生的频率挺高)

错误日志:
java.lang.IllegalArgumentException: width and height must be > 0
at android.graphics.Bitmap.createBitmap(Bitmap.java:877)
at android.graphics.Bitmap.createBitmap(Bitmap.java:856)
at android.graphics.Bitmap.createBitmap(Bitmap.java:823)
at me.pqpo.smartcameralib.SmartScanner.preparePreviewBitmap(SmartScanner.java:126)
at me.pqpo.smartcameralib.SmartScanner.previewScan(SmartScanner.java:114)
at me.pqpo.smartcameralib.SmartCameraView$ScanThread.run(SmartCameraView.java:205)

java.lang.IllegalArgumentException: width and height must be > 0

image

09-17 17:22:48.563 4344-4344/? E/MultiWindowProxy: getServiceInstance failed!
09-17 17:22:49.717 4344-4425/me.pqpo.smartcamera E/OpenGLRenderer: PerfServiceNative_notifyRenderTime init fail!
09-17 17:22:50.224 4344-4443/me.pqpo.smartcamera E/AndroidRuntime: FATAL EXCEPTION: processThread
Process: me.pqpo.smartcamera, PID: 4344
java.lang.IllegalArgumentException: width and height must be > 0
at android.graphics.Bitmap.createBitmap(Bitmap.java:829)
at android.graphics.Bitmap.createBitmap(Bitmap.java:808)
at android.graphics.Bitmap.createBitmap(Bitmap.java:775)
at me.pqpo.smartcameralib.SmartScanner.preparePreviewBitmap(SmartScanner.java:124)
at me.pqpo.smartcameralib.SmartScanner.previewScan(SmartScanner.java:112)
at me.pqpo.smartcameralib.SmartCameraView$1.onPicturePreview(SmartCameraView.java:60)
at com.google.android.cameraview.CameraView$CallbackBridge.onPicturePreview(CameraView.java:470)
at com.google.android.cameraview.Camera1$2.handleMessage(Camera1.java:110)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:207)
at android.os.HandlerThread.run(HandlerThread.java:61)

NDK build r18 找不到 gnu-libstdc++/4.9/libs/x86/libgnustl_shared.so

org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':smartcameralib'.
at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:94)
at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:89)
at org.gradle.configuration.project.LifecycleProjectEvaluator.doConfigure(LifecycleProjectEvaluator.java:70)
at org.gradle.configuration.project.LifecycleProjectEvaluator.access$100(LifecycleProjectEvaluator.java:34)
at org.gradle.configuration.project.LifecycleProjectEvaluator$ConfigureProject.run(LifecycleProjectEvaluator.java:110)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:50)
at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:666)
at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:135)
at org.gradle.execution.TaskPathProjectEvaluator.configure(TaskPathProjectEvaluator.java:35)
at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:62)
at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:38)
at org.gradle.initialization.DefaultGradleLauncher$ConfigureBuild.run(DefaultGradleLauncher.java:249)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.initialization.DefaultGradleLauncher.configureBuild(DefaultGradleLauncher.java:167)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:126)
at org.gradle.initialization.DefaultGradleLauncher.getConfiguredBuild(DefaultGradleLauncher.java:104)
at org.gradle.internal.invocation.GradleBuildController$2.call(GradleBuildController.java:87)
at org.gradle.internal.invocation.GradleBuildController$2.call(GradleBuildController.java:84)
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:152)
at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:100)
at org.gradle.internal.invocation.GradleBuildController.configure(GradleBuildController.java:84)
at org.gradle.tooling.internal.provider.runner.ClientProvidedBuildActionRunner.run(ClientProvidedBuildActionRunner.java:64)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$1.run(RunAsBuildOperationBuildActionRunner.java:43)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:40)
at org.gradle.tooling.internal.provider.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:51)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:47)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)
at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:39)
at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:25)
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:80)
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:53)
at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:57)
at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:32)
at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:36)
at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:25)
at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:43)
at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:29)
at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:69)
at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:30)
at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:59)
at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:44)
at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:45)
at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:30)
at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
at org.gradle.util.Swapper.swap(Swapper.java:38)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:62)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:82)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:295)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalStateException: Expected NDK STL shared object file at /xxx/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/libgnustl_shared.so

在预览的时候调用 mCameraView.cropJpegImage 不能执行

mCameraView.setOnScanResultListener(new SmartCameraView.OnScanResultListener() {
@OverRide
public boolean onScanResult(SmartCameraView smartCameraView, int result, byte[] data) {
// Bitmap previewBitmap = smartCameraView.getPreviewBitmap();
if (result == 1) {
LogUtils.i("onScanResult()--->>>");
mCameraView.cropJpegImage ....
return true;
}
return false;
}
});

java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object reference
at android.graphics.Bitmap.createBitmap(Bitmap.java:802)
at android.graphics.Bitmap.createBitmap(Bitmap.java:769)
at me.pqpo.smartcameralib.SmartCameraView$2.run(SmartCameraView.java:168)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.