- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经下载了最新的tesseract(tess-two),我遵循了大多数在互联网上写的如何将libs与项目集成的方法,但是我注意到最新的tess-two版本在build.gradle中具有与ndk-bulid相关的文件,因此建立我留给android studio的libarires,所谓的成功。这是tess-two的build.gradle:
import org.apache.tools.ant.taskdefs.condition.Os
apply plugin: 'com.android.library'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
minSdkVersion 8
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
res.srcDirs = ['res']
jni.srcDirs = []
jniLibs.srcDirs = ['libs']
}
}
// Call external ndk-build(.cmd) script to build the native code
task ndkBuild(type: Exec) {
def ndkBuildExt = Os.isFamily(Os.FAMILY_WINDOWS) ? ".cmd" : ""
commandLine "${android.ndkDirectory}/ndk-build${ndkBuildExt}",
'-C', file('.').absolutePath,
'-j', Runtime.runtime.availableProcessors()
}
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn ndkBuild
}
// Cleanup task to remove previously generated binaries
task ndkClean(type: Exec) {
def ndkBuildExt = Os.isFamily(Os.FAMILY_WINDOWS) ? ".cmd" : ""
commandLine "${android.ndkDirectory}/ndk-build${ndkBuildExt}",
'-C', file('.').absolutePath, 'clean'
}
tasks.withType(Delete) {
cleanTask -> cleanTask.dependsOn ndkClean
}
}
dependencies {
compile 'com.github.dcendents:android-maven-plugin:1.2'
compile fileTree(dir: 'libs', include: ['*.jar'])
}
// Settings for uploading module AAR to Bintray for library distribution
task sourcesJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier = 'sources'
}
task javadoc(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
options {
links "http://docs.oracle.com/javase/7/docs/api/"
linksOffline "http://d.android.com/reference","${android.sdkDirectory}/docs/reference"
}
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
artifacts {
archives javadocJar
archives sourcesJar
}
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
Information:Gradle tasks [:app:assembleDebug]
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:libraries:tess-two:preBuild UP-TO-DATE
:libraries:tess-two:preReleaseBuild UP-TO-DATE
:libraries:tess-two:compileReleaseNdk UP-TO-DATE
:libraries:tess-two:compileLint
:libraries:tess-two:copyReleaseLint UP-TO-DATE
:libraries:tess-two:mergeReleaseProguardFiles UP-TO-DATE
:libraries:tess-two:packageReleaseRenderscript UP-TO-DATE
:libraries:tess-two:checkReleaseManifest
:libraries:tess-two:prepareReleaseDependencies
:libraries:tess-two:compileReleaseRenderscript UP-TO-DATE
:libraries:tess-two:generateReleaseResValues UP-TO-DATE
:libraries:tess-two:generateReleaseResources UP-TO-DATE
:libraries:tess-two:packageReleaseResources UP-TO-DATE
:libraries:tess-two:compileReleaseAidl UP-TO-DATE
:libraries:tess-two:generateReleaseBuildConfig UP-TO-DATE
:libraries:tess-two:generateReleaseAssets UP-TO-DATE
:libraries:tess-two:mergeReleaseAssets UP-TO-DATE
:libraries:tess-two:processReleaseManifest UP-TO-DATE
:libraries:tess-two:processReleaseResources UP-TO-DATE
:libraries:tess-two:generateReleaseSources UP-TO-DATE
:libraries:tess-two:ndkBuild
make: Entering directory `/Users/sieciech/AndroidStudioProjects/OCRTestDwa/libraries/tess-two'
[armeabi] Install : libjpeg.so => libs/armeabi/libjpeg.so
[armeabi] Install : liblept.so => libs/armeabi/liblept.so
[armeabi] Install : libpng.so => libs/armeabi/libpng.so
[armeabi] Install : libtess.so => libs/armeabi/libtess.so
[armeabi-v7a] Install : libjpeg.so => libs/armeabi-v7a/libjpeg.so
[armeabi-v7a] Install : liblept.so => libs/armeabi-v7a/liblept.so
[armeabi-v7a] Install : libpng.so => libs/armeabi-v7a/libpng.so
[armeabi-v7a] Install : libtess.so => libs/armeabi-v7a/libtess.so
[x86] Install : libjpeg.so => libs/x86/libjpeg.so
[x86] Install : liblept.so => libs/x86/liblept.so
[x86] Install : libpng.so => libs/x86/libpng.so
[x86] Install : libtess.so => libs/x86/libtess.so
[mips] Install : libjpeg.so => libs/mips/libjpeg.so
[mips] Install : liblept.so => libs/mips/liblept.so
[mips] Install : libpng.so => libs/mips/libpng.so
[mips] Install : libtess.so => libs/mips/libtess.so
[arm64-v8a] Install : libjpeg.so => libs/arm64-v8a/libjpeg.so
[arm64-v8a] Install : liblept.so => libs/arm64-v8a/liblept.so
[arm64-v8a] Install : libpng.so => libs/arm64-v8a/libpng.so
[arm64-v8a] Install : libtess.so => libs/arm64-v8a/libtess.so
[x86_64] Install : libjpeg.so => libs/x86_64/libjpeg.so
[x86_64] Install : liblept.so => libs/x86_64/liblept.so
[x86_64] Install : libpng.so => libs/x86_64/libpng.so
[x86_64] Install : libtess.so => libs/x86_64/libtess.so
[mips64] Install : libjpeg.so => libs/mips64/libjpeg.so
[mips64] Install : liblept.so => libs/mips64/liblept.so
[mips64] Install : libpng.so => libs/mips64/libpng.so
[mips64] Install : libtess.so => libs/mips64/libtess.so
make: Leaving directory `/Users/sieciech/AndroidStudioProjects/OCRTestDwa/libraries/tess-two'
:libraries:tess-two:compileReleaseJavaWithJavac UP-TO-DATE
:libraries:tess-two:processReleaseJavaRes UP-TO-DATE
:libraries:tess-two:transformResourcesWithMergeJavaResForRelease UP-TO-DATE
:libraries:tess-two:transformClassesAndResourcesWithSyncLibJarsForRelease UP-TO-DATE
:libraries:tess-two:mergeReleaseJniLibFolders UP-TO-DATE
:libraries:tess-two:transformNative_libsWithMergeJniLibsForRelease UP-TO-DATE
:libraries:tess-two:transformNative_libsWithSyncJniLibsForRelease UP-TO-DATE
:libraries:tess-two:bundleRelease UP-TO-DATE
:app:prepareComAndroidSupportAppcompatV72311Library UP-TO-DATE
:app:prepareComAndroidSupportDesign2311Library UP-TO-DATE
:app:prepareComAndroidSupportRecyclerviewV72311Library UP-TO-DATE
:app:prepareComAndroidSupportSupportV42311Library UP-TO-DATE
:app:prepareOCRTestDwaLibrariesTessTwoUnspecifiedLibrary UP-TO-DATE
:app:prepareDebugDependencies
:app:compileDebugAidl UP-TO-DATE
:app:compileDebugRenderscript UP-TO-DATE
:app:generateDebugBuildConfig UP-TO-DATE
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources UP-TO-DATE
:app:mergeDebugResources UP-TO-DATE
:app:processDebugManifest UP-TO-DATE
:app:processDebugResources UP-TO-DATE
:app:generateDebugSources UP-TO-DATE
:app:compileDebugJavaWithJavac UP-TO-DATE
:app:compileDebugNdk UP-TO-DATE
:app:compileDebugSources UP-TO-DATE
:app:transformClassesWithDexForDebug UP-TO-DATE
:app:mergeDebugJniLibFolders UP-TO-DATE
:app:transformNative_libsWithMergeJniLibsForDebug UP-TO-DATE
:app:processDebugJavaRes UP-TO-DATE
:app:transformResourcesWithMergeJavaResForDebug UP-TO-DATE
:app:validateDebugSigning
:app:packageDebug UP-TO-DATE
:app:zipalignDebug UP-TO-DATE
:app:assembleDebug UP-TO-DATE
Information:BUILD SUCCESSFUL
Information:Total time: 4.991 secs
Information:0 errors
Information:0 warnings
Information:See complete output in console
22:05:04.097 17868-17868/com.example.sieciech.ocrtestdwa E/dalvikvm: dlopen("/data/app-lib/com.example.sieciech.ocrtestdwa-2/liblept.so") failed: dlopen failed: cannot locate symbol "png_set_longjmp_fn" referenced by "liblept.so"...
02-09 22:05:04.097 17868-17868/com.example.sieciech.ocrtestdwa W/dalvikvm: Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lcom/googlecode/tesseract/android/TessBaseAPI;
02-09 22:05:04.097 17868-17868/com.example.sieciech.ocrtestdwa D/AndroidRuntime: Shutting down VM
02-09 22:05:04.097 17868-17868/com.example.sieciech.ocrtestdwa W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x4164fd88)
02-09 22:05:04.107 17868-17868/com.example.sieciech.ocrtestdwa E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.sieciech.ocrtestdwa, PID: 17868
java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "png_set_longjmp_fn" referenced by "liblept.so"...
at java.lang.Runtime.loadLibrary(Runtime.java:364)
at java.lang.System.loadLibrary(System.java:526)
at com.googlecode.tesseract.android.TessBaseAPI.<clinit>(TessBaseAPI.java:44)
at com.example.sieciech.ocrtestdwa.MainActivity.onCreate(MainActivity.java:59)
at android.app.Activity.performCreate(Activity.java:5240)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1088)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2216)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2301)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1246)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5212)
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:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
at dalvik.system.NativeStart.main(Native Method)
nm
一起提供的
android ndk
工具,我看到:
nm: ./x86_64/liblept.so: no symbols
readelf
:
readelf -a ./x86_64/liblept.so | grep png_set_longjmp_fn
00000027add0 084900000007 R_X86_64_JUMP_SLO 0000000000000000 png_set_longjmp_fn + 0
最佳答案
通过执行git pull
并重建来更新您的OCR库。发生此错误是由于Android 4.4在运行时使用了其libpng版本而不是OCR库中可用的版本。 (显然,这仅是Android 4.4上的问题,而不是其他版本的Android上的问题。)在新版本的OCR库中,libpng已重命名为libpngt
来解决此崩溃问题并在Android 4.4上正常运行
关于android-studio - tesseract dlopen在android studio中失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35302278/
我经常使用 SSMS 查询数据和构建数据集,我的 IT 部门负责数据库管理。 最近我发现了 Azure Data Studio,我喜欢: 智能感知 源代码控制(例如使用 Git) 来自社区的扩展 SQ
我想根据我使用的 visual studio 版本编译不同的东西,比如 #if VISUAL_STUDIO_VERSION > 2015 eventH?.Invoke(this, EventArgs.
我们的开发团队计划从 visual studio 2005 升级到 visual studio 2010 -- 跳过 visual studio 2008。 大部分项目是VB ASP.NET项目,使用
我的Visual Studio 2015无法构建2010平台工具集。它说: The build tools for Visual Studio 2010 (v100) cannot be found.
我目前正在使用 Visual Studio 2015 来编程 ASP.NET Core 应用程序。我对安装 Visual Studio 2017 有以下疑问: 什么被认为是最佳实践和/或最干净的方法?
尝试从扩展和更新获取 Visual Studio 扩展时,出现以下错误:- 向 visualstudiogallery.msdn.microsoft.com/Services/VStudio/Exte
这个问题在这里已经有了答案: Can Visual Studio Code and VS 2012 be installed on same computer? (1 个回答) 关闭去年。 在安装了
作为标准安装的一部分,Visual Studio Code 带有一个名为“Monokai Dimmed”的颜色主题。 有没有办法将它移植到 Visual Studio 2015?我检查了社区主题( h
我想开始编程 CUDA。 我已经安装了 Visual Studio 2010 Express。 我还安装了 nVidia nSight Visual Studio。 而且我具备所有常见的先决条件(Ne
Visual Studio Community Edition是否可以使用Visual Studio Online帐户上的存储库? 我一直为包含在Online帐户中的Visual Studio Onl
我有一个我一直在开发的应用程序,但在 android studio 上遇到了问题。当我点击“build->run”然后选择我的设备时,应用程序永远不会在我的手机上运行(并且自动出现的android-s
我正在使用Visual Studio2010。我面临的一个问题是,当我创建一个新的Web项目时,Visual Studio将创建该项目,并且不会在解决方案资源管理器中显示其解决方案。 另一件事是,我想
我通读了这里的许多帖子,却找不到一个有效的明确答案。因此,在花了一些时间使它生效之后,我认为应该发布它。 问题:发布配置文件将建立在服务器上,但不会发布。 解: 确保已安装Microsoft Wind
我正在尝试使用Visual Studio 2012构建针对.NET 3.5的C++ CLI应用程序。 通过安装Visual Studio 2008,并指定v90平台工具集,我已经在一台机器上进行了这项
我在 Microsoft Visual Studios 2013 中有一个项目,我想在 Microsoft Visual Studios 2010 中打开它。有什么简单的方法吗?还是我必须在2010年
我想知道,如果我发送一个解决方案文件夹(它是用 visual studio C# 编写的),您可以在 visual studio for mac 中打开解决方案吗? 在visual studio 20
有没有办法在 Visual Studio Code 和 Visual Studio 中设置相同的快捷方式(而不必每次都手动更改它们)? 例如,我在 Visual Studio Code 中经常使用 A
我刚开始了解 Visual Studio Code。我想知道,我可以将 Visual Studio 替换为所有 .NET 开发相关的工作吗? 我可以节省 Visual Studio 许可的成本吗? V
我安装了具有有效许可证(Visual Studio 订阅)的 Visual Studio 2019 企业版(VS 2019 16.1.4),它运行良好。 突然之间,当我尝试打开项目或项目中的任何文件时
我一直在使用 Compass 编译 Windows 环境中的 sass 文件,无论是在命令行上还是使用 Compass-app 来查看目录。 我刚刚开始使用 Visual Studio(专业版 201
我是一名优秀的程序员,十分优秀!