android开发用百度识别图片格式,基于百度OCR的Android图片文字识别(一)

本文档详述了如何将百度OCR SDK导入Android项目,包括创建应用、下载License文件、复制必要文件到相应目录,以及解决编译问题。涉及到的步骤包括设置匹配的包名,导入OCR-UI模块,更新权限和处理SDK许可协议等问题。同时,针对Gradle语法变更、版本兼容性和androidx迁移进行了调整。
摘要由CSDN通过智能技术生成

0、前言

本篇主要记录导入百度OCR的SDK的相关步骤,及解决相关bug。

1、下载第三方SDK

1.1 创建应用

a1cb0e903383

创建应用过程中,填写包名时要注意和后面新建Android Project的包名要一致。

1.2下载License文件

a1cb0e903383

也可以使用ak/sk方式。但用License文件(产品许可文件)更安全。

1.3下载SDK

a1cb0e903383

解压后:

a1cb0e903383

a1cb0e903383

各部分介绍

2、工程配置

2.1 复制文件

新建Android 工程(笔者选择SDK的版本是28,最好不要低于28),将百度OCR的SDK中的libs\ocr-sdk.jar复制,放入Android工程目录app/libs下。

在Android工程目录app\src\main下新建两个文件夹asserts和jniLibs,将先前下载的License文件移至asserts中,百度OCR的SDK中的libs\arm64-v8a、libs\armeabi、libs\armeabi-v7a和libs\x86移至jniLibs中。

2.2 导入OCR-UI模块

2.2.1 新建Module

OCR-UI模块提供了一套默认的UI。将ocr_ui模块包含到工程,以Module方式导入。

a1cb0e903383

2.2.2 选择 Import Gradle Project

a1cb0e903383

2.2.3 填写Source directory

Source directory选中百度ORC的SDK下的ocr_ui

a1cb0e903383

2.2.4 添加依赖

在Android工程目录中的Gradle Scripts\build.gradle(Module:app)中,添加implementation project(":ocr_ui")项目依赖:

a1cb0e903383

image.png

2.2.5 添加权限

接着在AndroidManifest.xml中添加权限:(分别是网络请求权限,数据的读存取权限,以及相机权限。)

a1cb0e903383

2.3 改bug

2.3.1 原先的SDK要接受许可协议

导入后碰到第一个错

a1cb0e903383

是电脑上之前已经安装过SDK,没有接受 许可协议导致的。

参考链接【2】(见底部)解决:

a1cb0e903383

a1cb0e903383

解决后再在AndroidStudio中Try Again。结果应该是这样的:

a1cb0e903383

2.3.2 compile要改成implementation

发现Gradle Sync还有Issues,原来compile快被移除了,将相应的compile换成implementation即可。还有testCompile换成testImplementation等等。

a1cb0e903383

2.3.3 修改导入模块的compileSdkVersion版本等

没想到还有错:

a1cb0e903383

“The specified Android SDK Build Tools version (25.0.2) is ignored, as it is below the minimum supported version (28.0.3) for Android Gradle Plugin 3.5.2.Android SDK Build Tools 28.0.3 will be used.”

版本问题,笔者修改成和builder.gradle(app)中一样的版本号了(使用的是28)。

2.3.4 android.support与androidx不能共存问题

完成上述工作后,你也许还会出现如下问题:未能找到android.support.v4、未能找到android.support.annotation等。这是由于androidx与android.support不能共存引起的。笔者这里将其转换成androidx。

a1cb0e903383

操作方式如上图。操作完后,笔者的只有android.support.annotation没有转换成功,还需要手动转换:

比如:

import android.support.annotation.NonNull改成import androidx.annotation.NonNull;

(可能还会有import android.support.v7.app.AlertDialog改成import androidx.app.AlertDialog等等)

笔者完成到这一步,基本没报其他的错了(可能还要加一些依赖)。

Demo在下一篇。

3、主要参考链接

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值