直接进入正题,我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'),都没有成功,最终放弃了。
3. 修改外层的build.grade中下载改为谷歌下载。
4.gradle改为自己本地有的版本。
这几个问题都解决了,百度OCR应该能运行起来了,如果还运行不起来,可以下载我的上传可以运行DEMO,支持Android10
链接百度OCR的Demo,直接运行,支持android10-Android文档类资源-CSDN下载
demo运行起来了,但接入项目也有几点要注意的。
1. 把ocr_ui导入项目,
2. ocr-sdk导入项目
对应的jniLibs都导入项目
3. 查看build.gradel有没有jniLibs.srcDirs = ['libs'],有的话注释掉并把libs对应目录下的“.so”文件也拷贝到jniLibs下面,
4. 最后把自己项目在官网注册的aip.license下载下来并导入项目的assets就可以了,
5. 最后强调一下,最好在项目的的Application中初始化initAccessToken,初始化代码如下
6. 方法调用。比如身份证调用
扫描后的回调
自己写的回调解析
判断是否扫描成功:
if(result==null||result.getImageStatus()==null||!result.getImageStatus().equals("normal"))
{
ToastWindow(mActivity, "请重新提交清晰的身份证照片!");
return;
}
如果还运行不起来,就把demo中的运行代码拷到项目中,加个测试按钮看看demo功能,能不能运行起来,如果不行,按归报错一 一解决。
最后再啰嗦下,拷别人的代码到自己的项目中,记得把导入import文件路径改成自己项目的,XML如果也有引用的话,把路径也改成自己项目的。
最后上传自己可以运行起来的DEMO,大家可以下载参考,支持Android10