谷歌移动视觉库没有下载

Posted

技术标签:

【中文标题】谷歌移动视觉库没有下载【英文标题】:Google Mobile Vision library not downloading 【发布时间】:2017-07-26 12:00:06 【问题描述】:

我正在尝试在我的应用中实现 Google Mobile Vision TextRecogniser API,以从给定图像中读取文本。当我尝试使用该功能时,我收到此错误:

W/DynamiteModule: Local module descriptor class for com.google.android.gms.vision.dynamite not found.
I/DynamiteModule: Considering local module com.google.android.gms.vision.dynamite:0 and remote module com.google.android.gms.vision.dynamite:801
I/DynamiteModule: Selected remote version of com.google.android.gms.vision.dynamite, version >= 801
W/System: ClassLoader referenced unknown path: /data/user_de/0/com.google.android.gms/app_chimera/m/00000005/n/arm64-v8a
D/ApplicationLoaders: ignored Vulkan layer search path /data/app/com.google.android.gms-1/lib/arm64:/system/fake-libs64:/data/app/com.google.android.gms-1/base.apk!/lib/arm64-v8a for namespace 0x7a2e8c60f0
I/Vision: Loading libocr library
I/Vision: libocr load status: false
I/TextRecognizerCreatorImpl: Requesting download for native text recognizer
W/TextNativeHandle: Native handle not yet available. Reverting to no-op handle.

意思,我相信,图书馆没有下载到手机上。

我已对常见错误源进行了故障排除,包括缺少互联网连接、内存不足、缺少依赖项、重新启动手机、更新 Google Play 服务、等待一段时间等。Google 存储库和 Play 服务也在 Android Studio 中更新。

然而,即使在不同的设备上尝试我的应用程序,我仍然会遇到同样的错误。

【问题讨论】:

我有同样的问题和完全相同的错误信息。你找到解决办法了吗 我还没有找到解决办法,抱歉。 添加 到清单 在我的移动设备上清除 Google Play 服务的缓存有帮助。清除缓存后,我尝试运行 OCR 应用程序,但它仍然无法正常工作。我推出了游戏商店,把手机丢了一段时间,然后宾果游戏!它有效... 清除google play服务数据和应用数据后应该可以使用了。 【参考方案1】:

我相信下载是由 Google Play 服务应用程序执行的。库以 zip 文件的形式下载到文件夹中

/data/data/com.google.android.gms/cache/downloadservice

并被提取到

 /data/data/com.google.android.gms/files/com.google.android.gms.vision

我们的应用总是检查路径中的库

    06-02 22:43:53.379 30258-30419/pzy64.searchbot I/Vision: Loading library libocr.so

如果文件不存在则显示错误

    06-02 22:43:53.475 30258-30419/pzy64.searchbot I/Vision: libocr.so library load status: false   

否则

    06-03 09:42:33.372 23451-24679/pzy64.searchbot I/Vision: libocr.so library load status: true

下载后, 在我的情况下(ARM)文件夹大小为

 /data/data/com.google.android.gms/files/com.google.android.gms.vision

大约是 5MB。(所以下载的文件小于这个大小,不同架构的大小可能会有所不同。在我的华硕手机(x86)中下载需要更多时间)。

查看我的 Logcat -(使用“Vision”过滤)。

06-02 22:45:45.489 14970-31705/? I/Vision: Registration status ocr_armeabi_v7a.zip: The download is in progress.
06-02 22:45:45.542 14970-31705/? I/Vision: Download status ocr_armeabi_v7a.zip: The download is in progress.
06-02 22:43:53.379 30258-30419/pzy64.searchbot I/Vision: Loading library libocr.so
06-02 22:43:53.387 30258-30419/pzy64.searchbot I/Vision: libocr.so library load status: false
06-02 22:43:53.410 30258-30419/pzy64.searchbot I/Vision: Loading library libocr.so
06-02 22:43:53.411 30258-30419/pzy64.searchbot I/Vision: libocr.so library load status: false
06-02 22:43:53.475 30258-30419/pzy64.searchbot I/Vision: Loading library libocr.so
06-02 22:43:53.475 30258-30419/pzy64.searchbot I/Vision: libocr.so library load status: false
................... ..............
................... ..............

06-02 22:51:08.364 14970-3424/? I/Vision: Finished download ocr_armeabi_v7a.zip
06-02 22:51:08.421 14970-3424/? I/Vision: Unzipping /data/data/com.google.android.gms/cache/downloadservice/ocr_armeabi_v7a.zip to /data/data/com.google.android.gms/files/com.google.android.gms.vision/ocr
06-02 22:51:08.645 14970-3424/? I/Vision: Time to download ocr: 436558
06-02 22:51:09.142 3303-3489/pzy64.searchbot I/Vision: Loading library libocr.so
06-02 22:51:09.149 3303-3489/pzy64.searchbot I/Vision: libocr.so library load status: true
06-02 22:51:09.149 3303-3489/pzy64.searchbot I/Vision: Reading ocr models from /data/data/com.google.android.gms/files/com.google.android.gms.vision/ocr/data/models

The app i'm working on

【讨论】:

我得到了其中一台设备,但它说无法使用,我不知道如何解决这个问题,您有什么建议可以解决吗【参考方案2】:

我对 Google Play 服务应用程序执行“清除数据”,它可以工作!

【讨论】:

【参考方案3】:

我认为您错过了在应用程序的清单文件中添加“元数据”标签。此元数据标记告诉您的应用程序下载该库并将其集成到您的应用程序中。尝试在清单文件中“活动”标签上方的“应用程序”标签中添加元数据标签。见下文:

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
        <meta-data android:name="com.google.android.gms.vision.DEPENDENCIES" android:value="barcode"/>
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

这可能会解决您的问题。

【讨论】:

谢谢,但这并没有解决我的问题。我仍然收到相同的错误消息。 如果您尝试使用文本识别,请确保使用android:value="ocr" 而不是android:value="barcode"【参考方案4】:

我不知道我是不是太晚了,但是伙计们,经过数小时的挑战,将 Google Play 服务更新到版本 (12.6.85) 解决了这个问题。我重新启动了设备,你猜怎么着?该应用程序运行良好。 用于更新此 Google play 服务these instructions。

【讨论】:

【参考方案5】:

经过一些试验,我发现在 gradle 文件中你也必须添加这些行:

compile 'com.android.support:support-v4:24+'
compile 'com.android.support:design:24+'

所以除了这个

编译'com.google.android.gms:play-services-vision:10.2.1' 其他两行也很重要。

【讨论】:

即使日志显示“libocr load status: false”,它仍在后台下载。即使下载完成后,日志也不会改变..我们需要退出应用程序,从内存中清除它,再次打开以查看是否工作..您可以通过使用'Vision'过滤logcat来查看它。我相信下载是由播放服务执行的。上面的试验对你有用..因为它有足够的时间在你进行试验时下载库.. 等待后可以从日志中看到。 libocr.so 库加载状态:true .. 从 /data/data/com.google.android.gms/files/com.google.android.gms.vision/ocr 读取 ocr 模型/数据/模型..【参考方案6】:

我遇到了完全相同的问题。一旦我登录到 Google Play 服务,它就会下载并且条形码检测器在相机中工作。

【讨论】:

以上是关于谷歌移动视觉库没有下载的主要内容,如果未能解决你的问题,请参考以下文章

适用于 Android 的计算机视觉和 AR 库?

记录一下vlfeat视觉库配置

西安电子地图下载 来自谷歌电子地图库 地图展示151719级

Maven 不会从谷歌存储库下载 jars

AlloyDesigner 使用

如何使条码扫描仪只扫描一次(谷歌移动视觉 API)?