使用指南

1.SDK 目录结构

目录

2.将SDK集成到开发环境

使用 SDK 前,首先需要将其集成到您的开发环境中。

2.1 配置开发环境

运行demo,以银行卡为例,身份证雷同
  1. 首先使用android studio打开根目录下的 LFBankCardScanDemo
  2. 然后在app/build.gradle中修改成license绑定的包名,离线版用户此时可直接点击运行,体验银行卡demo。(离线版用户demo已可以运行,在线版用户运行demo请看下一步)
  3. 打开文件com.linkface.lfbankcardscandemo.result包下面的LFCardResultPresenter修改其中的

    private static final String APP_ID = "LF_CARD_APP_ID";

    private static final String APP_SECRET = "LF_CARD_APP_SECRET";

    将LF_CARD_APP_ID修改为在我公司申请的app_id;

    将LF_CARD_APP_SECRET修改为在我公司申请的app_secret;

在Android Studio中集成(demo工程使用的第一种方式导入)

第一种集成方式(将UI层,即LFOCRUILib作为一个工程依赖)

  1. 新建一个android studio工程LFBankCardProject,然后将LFOCRUILib整个工程拷贝到和刚才新建的工程的同级目录下,如图 目录
  2. 在工程LFBankCardProject的根目录下的settings.gradle文件中加入

    includeFlat 'LFOCRUILib'

    include ':LFOCRUILib:LFCard'

  3. 添加依赖

    在新建应用的builde.gradle下添加

    repositories { flatDir {

     dirs '../../LFOCRUILib/LFCard/libs'
    

    } }

    在build.gradle中的dependencies{}中添加

    compile project(path: ':LFOCRUILib:LFCard')

    如下

```
repositories {
flatDir {
    dirs '../../LFOCRUILib/LFCard/libs'
}
}
dependencies {
  compile project(path: ':LFOCRUILib:LFCard')
}
```
  1. 此时可以跳转扫描界面,跳转方式,以及数据获取方式参考身份证使用流程或者银行卡使用流程

第二种集成方式(将UI层,即LFOCRUILib作为一个module导入)

  1. 新建一个android studio工程,然后点击File->New->Import Module,选择压缩包根录下LFOCRUILib工程中的LFCard模块,点击finish完成导入。
  2. 添加依赖,在新建应用的builde.gradle下添加

    repositories { flatDir {

     dirs '../LFCard/libs'
    

    } } 在build.gradle中的dependencies{}中添加compile project(':LFCard')

     repositories {
     flatDir {
         dirs '../LFCard/libs'
        }
     }
     dependencies {
       compile project(':LFCard')
     }
    
  1. 此时可以跳转扫描界面,跳转方式,以及数据获取方式参考身份证使用流程或者银行卡使用流程
更灵活的集成方式,获取aar文件内容进行集成

1.将lfocrdetectlib.aar后缀重命名为.zip文件,解压。目录结构如图 目录

2.将解压目录中assets文件夹下的模型文件拷贝到 app/src/main/assets 目录中,如果使用银行卡扫描功能,则只需要拷贝 bankcard_2.6.model 和 bankextra1.0.model ;如果使用身份证扫描功能拷贝 idcard_3.0.0.model;两者都使用则拷贝全部 .model 文件

3.将解压目录中jni文件夹下的so文件夹拷贝到 app/src/main/jniLibs 目录中, 如果使用银行卡扫描功能,则只需要拷贝 libsdk_card.so 和 libst_bankcard.so 即可;如果使用身份证扫描功能,则只需要拷贝 libsdk_card.so 和 libst_idcard.so;两个功能都使用,则三个文件都要拷贝。

4.将 classes.jar 文件拷贝 app/libs 目录下。在builde.gradle添加依赖。注:可重命名该文件。

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

5.如果没有设置app_name会有一个报错,添加这个value 资源即可。

    android:label="@string/app_name"

2.2 配置 AndroidManifest.xml 文件

i. 在 AndroidManifest.xml 中增加权限,代码如下:

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

2.3 添加license

将license目录下面的SenseID_OCR.lic拷贝到工程的src/main/assets目录下面

2.4 解决代码混淆

如果不开启代码混淆则跳过这一步; 由于代码混淆后可能会发生crash,所以建议先在混淆配置中解决代码混淆问题。

具体操作为:在proguard文件中加入下面的代码解决:

-keep class com.linkface.** { *; }

2.5 获取数据

  1. 获取扫描结果图片离线版用户和在新版用户等同,请参考身份证接口调用流程和银行卡接口调用流程

  2. 获取数据方式参考身份证接口调用流程和银行卡接口调用流程,离线版用户获取到的IDCard和BankCard即为此次扫描结果数据,离线版结束,在线版请看下一步。

  3. 在线版用户获取到的IDCard和BankCard存储的是加密后的数据,需要调用解密接口获取数据,接口调用参考demo中com.linkface.lfbankcardscandemo.result包下面的LFCardResultPresenter,接口说明文档银行卡参考ocr/parse_bankcard_ocr_result。 身份证参考ocr/parse_idcard_ocr_result

results matching ""

    No results matching ""