资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

快速入门

支持的系统和硬件版本:

  • 系统:支持 Android 4.1(API Level 16)到Android 12(API Level 31)系统。需要开发者通过minSdkVersion来保证支持系统的检测。
  • CPU架构:armeabi,arm64-v8a,armeabi-v7a,x86。
  • 机型:手机和平板皆可。
  • 硬件要求:要求设备上有相机模块。
  • 网络:支持WIFI及移动网络,移动网络支持使用NET网关及WAP网关(CMWAP、CTWAP、UNIWAP、3GWAP)。

开发包说明

aip-ocr-android-sdk.zip               // OCR SDK包,包括文档,demo工程,SDK核心库
	|- OCRDemo                         // demo示例工程
    |- libs                            // lib 库,包括aar包。
    |- ocr-ui                          // ocr UI模块

sdk的包含的UI部分和demo工程以Android Studio方式提供,sdk部分则可以较方便的集成到eclipse工程中。

  1. 前往SDK下载页面下载Android SDK压缩包。
  2. (必须)将下载包libs目录中的ocr-sdk.aar文件拷贝到工程libs目录中,并加入工程依赖。
  3. (可选)如果需要使用UI模块,请在Android studio中以模块方式导入下载包中的ocr-ui文件夹。

为您自己的工程添加必要的权限

如果您在自己的工程中集成SDK,请确保已经在工程AndroidManifest.xml文件中添加如下权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

各个权限的用途说明见下表:

名称 用途
INTERNET 应用联网,发送请求数据至服务器,获得识别结果。
CAMERA 调用相机进行拍照(仅UI部分需要)
WRITE_EXTERNAL_STORAGE 图片裁剪临时存储
READ_EXTERNAL_STORAGE 图片裁剪临时存储

Proguard配置

如果您在自己的工程中集成SDK,请在Proguard配置文件中增加, 防止release发布时打包报错:

-keep class com.baidu.ocr.sdk.**{*;}
-dontwarn com.baidu.ocr.**

DEMO使用说明

安卓SDK包中提供了一个可快速运行的demo工程,该工程已经集成了sdk,UI库,您只需直接在Android Studio中导入开发包OCRDemo目录即可运行。

若运行提示"身份验证错误",可能是您还未填写正确的Api Key和Secret Key,或者是还未绑定您安卓应用的包名,如何绑定包名请参考下一章节:身份验证与安全 章节

鉴权失败示例.png

身份验证与安全

百度AI开放平台使用OAuth2.0授权调用开放API,调用API时必须在URL中带上accesss_token参数。AccessToken可用AK/SK或者授权文件的方式获得。安卓SDK中已经为您做了封装,当初始化完毕后,所有API请求会自动带上accesss_token参数,您也可以通过initAccessTokenWithAkSk,initAccessToken这两个函数的回调中查看。

OCR Android SDK提供了以下2种AccessToken管理方法。

通过API Key / Secret Key获取AccessToken

此种身份验证方案使用AK/SK获得AccessToken。

虽然SDK对网络传输的敏感数据进行了二次加密,但由于AK/SK是明文填写在代码中,在移动设备中可能会存在AK/SK被盗取的风险。有安全考虑的开发者可使用第二种授权方案。

使用步骤:

  1. 管理控制台中新建一个OCR应用,并且请填写正确的包名和签名MD5 控制台创建应用1.png 控制台创建应用2.png
  2. 应用详情页面查看并复制应用的Api Key(简称AK) 和 Secret Key(简称SK),初始化OCR单例:

    OCR.getInstance().initAccessTokenWithAkSk(new OnResultListener() { @Override public void onResult(AccessToken result) { // 调用成功,返回AccessToken对象 String token = result.getAccessToken(); } @Override public void onError(OCRError error) { // 调用失败,返回OCRError子类SDKError对象 } }, getApplicationContext(), "您的应用AK", "您的应用SK");

由于AK/SK是明文填写在代码中,在移动设备中可能会存在AK/SK被盗取的风险。有安全考虑的开发者可使用第二种授权方案。

授权文件(安全模式)获取AccessToken

此种身份验证方案使用授权文件获得AccessToken,缓存在本地。建议有安全考虑的开发者使用此种身份验证方式。

在您的移动APP分发出去之后,APP存在被反编译的可能,所以直接将AK / SK 置于APP源码之中,存在被盗取的风险。采用授权文件的身份验证方法,可有效保护AK/SK在移动设备中的安全。攻击者即使拦截了流量,盗取了授权文件,也难以盗用您的配额。

使用步骤:

  1. 官网中配置应用 配置应用1.png 配置应用2.png
  2. 应用详情页面下载对应应用的授权文件 下载授权1.png
  3. 将授权文件添加至工程assets文件夹,文件名必须为aip-ocr.license ocr.png
  4. 调用initAccessToken方法,初始化OCR单例:

    OCR.getInstance().initAccessToken(new OnResultListener() { @Override public void onResult(AccessToken result) { // 调用成功,返回AccessToken对象 String token = result.getAccessToken(); } @Override public void onError(OCRError error) { // 调用失败,返回OCRError子类SDKError对象 } }, getApplicationContext());

上一篇
简介
下一篇
接口调用说明