直接进入正题,我android 接入第三方插件,一般习惯直接运行demo,然后根据demo的功能,再考虑是把demo导入项目,还是把项目需要的功能,相对应接入项目。

        现在开始说说百度OCR,这个百度确实有点坑 ,首先百度官网的OCR的sdk下载下来,里面有个demo,直接不能运行,全是报错。下面说说这些问题的解决:

1. 最基本的demo项目和ocr-ui的build.grade中 的compile(3.0后就弃用了)都改为implementation,这个大家都会改。

2. appcompat-v7改为28.0.0。

我尝试改成过androidX,但尝试了几种方法,什么改成('androidx.appcompat:appcompat:1.1.0'),都没有成功,最终放弃了。

Android aar都移除了 彻底解决android.acore_百度

3. 修改外层的build.grade中下载改为谷歌下载。

Android aar都移除了 彻底解决android.acore_android_02

4.gradle改为自己本地有的版本。

这几个问题都解决了,百度OCR应该能运行起来了,如果还运行不起来,可以下载我的上传可以运行DEMO,支持Android10

链接百度OCR的Demo,直接运行,支持android10-Android文档类资源-CSDN下载

demo运行起来了,但接入项目也有几点要注意的。

1. 把ocr_ui导入项目,

Android aar都移除了 彻底解决android.acore_Android aar都移除了_03

2. ocr-sdk导入项目

Android aar都移除了 彻底解决android.acore_Android aar都移除了_04

对应的jniLibs都导入项目

Android aar都移除了 彻底解决android.acore_导入项目_05

3. 查看build.gradel有没有jniLibs.srcDirs = ['libs'],有的话注释掉并把libs对应目录下的“.so”文件也拷贝到jniLibs下面,

Android aar都移除了 彻底解决android.acore_android studio_06

4. 最后把自己项目在官网注册的aip.license下载下来并导入项目的assets就可以了,

Android aar都移除了 彻底解决android.acore_Android aar都移除了_07

5. 最后强调一下,最好在项目的的Application中初始化initAccessToken,初始化代码如下

Android aar都移除了 彻底解决android.acore_Android aar都移除了_08

6. 方法调用。比如身份证调用

Android aar都移除了 彻底解决android.acore_百度_09

扫描后的回调

Android aar都移除了 彻底解决android.acore_导入项目_10

 自己写的回调解析

Android aar都移除了 彻底解决android.acore_百度_11

 判断是否扫描成功:

if(result==null||result.getImageStatus()==null||!result.getImageStatus().equals("normal"))
{
    ToastWindow(mActivity, "请重新提交清晰的身份证照片!");
    return;
}

如果还运行不起来,就把demo中的运行代码拷到项目中,加个测试按钮看看demo功能,能不能运行起来,如果不行,按归报错一 一解决。

最后再啰嗦下,拷别人的代码到自己的项目中,记得把导入import文件路径改成自己项目的,XML如果也有引用的话,把路径也改成自己项目的。 

最后上传自己可以运行起来的DEMO,大家可以下载参考,支持Android10