开放能力
开发平台
行业应用
生态合作
开发与教学
资讯 社区 控制台
技术能力
语音技术
图像技术
文字识别
人脸与人体识别
视频技术
AR与VR
自然语言处理
知识图谱
数据智能
场景方案
部署方案
行业应用
智能教育
智能医疗
智能零售
智能工业
企业服务
智能政务
智能农业
信息服务
智能园区
智能硬件
文字识别

    快速入门

    支持的系统和硬件版本:

    • 系统:支持 Android 4.0(API Level 15)到Android 10.0(API Level 29)系统。需要开发者通过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 库,包括各平台的so库及 jar包。
        |- ocr-ui                          // ocr UI模块
        |- OCR-android-SDK.md              // 使用说明文档

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

    1. 前往SDK下载页面下载Android SDK压缩包。
    2. (必须)将下载包libs目录中的ocr-sdk.jar文件拷贝到工程libs目录中,并加入工程依赖。
    3. (必须)将libs目录下armeabi,arm64-v8a,armeabi-v7a,x86文件夹按需添加到android studio工程src/main/jniLibs目录中, eclipse用户默认为libs目录。
    4. (可选)如果需要使用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,或者是还未绑定您安卓应用的包名,如何绑定包名请参考下一章节:身份验证与安全 章节

    身份验证与安全

    百度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

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

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

    使用步骤:

    1. 管理控制台中新建一个OCR应用,并且请填写正确的包名
    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,缓存在本地。建议有安全考虑的开发者使用此种身份验证方式。

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

    使用步骤:

    1. 官网中配置应用
    2. 应用详情页面下载对应应用的授权文件
    3. 将授权文件添加至工程assets文件夹,文件名必须为aip.license
    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());

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