我已经下载了tess-two,然后将所有内容从该位置导入到我的项目中。编译*.so文件并尝试在我的手机上运行它,如下所示:
TessBaseAPI baseApi = new TessBaseAPI();
baseApi.setDebug(true);
baseApi.init(DATA_PATH, lang);
baseApi.setImage(bitmap);
String recognizedText = baseApi.getUTF8Text();
baseApi.end();但结果是令人悲哀的:
02-06 15:43:32.095 4072-4072/my.package.name E/AndroidRuntime? FATAL EXCEPTION: main
Process: my.package.name, PID: 4072
java.lang.UnsatisfiedLinkError: Native method not found: my.package.name.tesseract.android.TessBaseAPI.nativeClassInit:()V
at my.package.name.tesseract.android.TessBaseAPI.nativeClassInit(Native Method)
at my.package.name.tesseract.android.TessBaseAPI.<clinit>(TessBaseAPI.java:46)
at my.package.name.activities.SimpleAndroidOCRActivity.onPhotoTaken(SimpleAndroidOCRActivity.java:214)
at my.package.name.activities.SimpleAndroidOCRActivity.onActivityResult(SimpleAndroidOCRActivity.java:138)
at android.app.Activity.dispatchActivityResult(Activity.java:5441)
at android.app.ActivityThread.deliverResults(ActivityThread.java:3353)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:3400)
at android.app.ActivityThread.access$1300(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1250)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5047)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:806)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)
at dalvik.system.NativeStart.main(Native Method)有人能帮我解决这个问题吗?
发布于 2017-09-04 04:21:36
你好,我想你没有编译好的*.so文件来匹配所有的cpu。
请按如下方式编辑Application.mk
APP_STL := gnustl_static
APP_ABI := armeabi armeabi-v7a x86 mips arm64-v8a x86_64 mips64
APP_OPTIM :=版本
APP_PLATFORM :=安卓-9
APP_CPPFLAGS += -fexceptions -frtti
NDK_TOOLCHAIN_VERSION := clang
然后编译这个最好的问候
https://stackoverflow.com/questions/28366498
复制相似问题