実際のデバイス (ZTE、Android 4.2.2) で以下のコードを実行すると、エラーが発生しました。
_tessApi = new TessBaseAPI();
_tessApi.setDebug(false);
try {
_tessApi.init(Environment.getExternalStorageDirectory().getPath(), "chi_sim");
_useOcr = true;
} catch (Exception ex) {
_useOcr = false;
}
testRunner のエラー:
java.lang.UnsatisfiedLinkError: Couldn't load lept from loader dalvik.system.PathClassLoader[DexPathList[[
zip file "/system/framework/android.test.runner.jar", zip file "/system/framework/uiautomator.jar", zip fi
le "/data/local/tmp/AutoRunner.jar"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]]: findLibrary re
turned null
at java.lang.Runtime.loadLibrary(Runtime.java:366)
at java.lang.System.loadLibrary(System.java:514)
at com.googlecode.tesseract.android.TessBaseAPI.<clinit>(TessBaseAPI.java:44)
at com.base.jqhelper.initOCR(jqhelper.java:38)
at com.tieba.AddFriend.Initialization(AddFriend.java:328)
at com.tieba.AddFriend.testRunner(AddFriend.java:43)
at java.lang.reflect.Method.invokeNative(Native Method)
at com.android.uiautomator.testrunner.UiAutomatorTestRunner.start(UiAutomatorTestRunner.java:144)
at com.android.uiautomator.testrunner.UiAutomatorTestRunner.run(UiAutomatorTestRunner.java:87)
at com.android.commands.uiautomator.RunTestCommand.run(RunTestCommand.java:90)
at com.android.commands.uiautomator.Launcher.main(Launcher.java:83)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:235)
at dalvik.system.NativeStart.main(Native Method)
プロジェクトを AutoRunner.jar にパッケージ化し、jar を実際のデバイスにプッシュします。liblept.so および libtess.so ファイルをデバイスからロードできないことが問題のようです。