Android 集成阿里云 人脸识别

Android 集成阿里云 人脸识别 

Android集成官方文档:https://help.aliyun.com/document_detail/127598.html?spm=a2c4g.11186623.6.564.583c5f3e1BgoXP

集成步骤:

1,申请相关账号,并且将项目签名打包成apk上传后下载相应的sdk;(注意,为了方便测试 最好debug包 和release包通用一个签名文件)

 signingConfigs {
        def alias = "key"
        def password = "you password"
        def filePath = "D://xx/MLKey.jks"

        debug {
            keyAlias alias
            keyPassword password
            storeFile file(filePath)
            storePassword(password)
        }
        release {
            keyAlias alias
            keyPassword password
            storeFile file(filePath)
            storePassword(password)
        }

    }

2,下载的sdk里包括一张验证图片,放置于项目res->drawble文件夹下 ;

3,将下载文件里的AAR文件复制到工程JNILib目录,如果项目本身集成有okhttp等,不要复制过来

其中fastjson也必须要(毕竟阿里亲儿子),windvane为webview 文件,必须要;

4,so文件复制到jniLibs文件夹,根据自己项目情况选择对应cpu架构;

5,app gradle文件设置()

 

android{
    ...
}
repositories {
    flatDir {
        dirs 'libs'
        //如果集成aar文件放置于子moudle  此处可以设置成 dirs '../yourModleName/libs'
    }
}
dependencies {
...
    implementation(name: 'rpsdk-4.0.4', ext: 'aar')
    implementation(name: 'oss-android-sdk-2.9.2', ext: 'aar')
    implementation(name: 'SecurityGuardSDK-external-release-5.4.193-preInstall', ext: 'aar')
    implementation(name: 'SecurityBodySDK-external-release-5.4.112-preInstall', ext: 'aar')
    implementation files('libs/fastjson-1.2.62.jar')
    implementation files('libs/windvane-min-8.0.3.2.3.jar')
}

 

6,调用

Apllication文件初始化:

  @Override
    public void onCreate() {
        super.onCreate();

        initAliFace();

    }

    private void initAliFace() {
        /**
         * 通过ALBiometricsConfig 自定义您的UI
         */
        ALBiometricsConfig.Builder alBiometricsConfig = new ALBiometricsConfig.Builder();
        alBiometricsConfig.setNeedSound(false);//默认是否开启声音
        alBiometricsConfig.transitionMode = TransitionMode.BOTTOM;//从下弹出
        CloudRealIdentityTrigger.initialize(this, true, alBiometricsConfig.build());//第二个参数是本地日志能力(若打开 会记录问题到本地,方便后期排查线上用户问题)
    }

activity问调用(首先申请相机权限,这里的token是后台上传识别图片去阿里服务器后,回调获得的)

private void openVerify(){
    CloudRealIdentityTrigger.startVerifyByNative(this, token, getALRealIdentityCallback());
}

    /**
     * 基础回调的方式 TODO
     *
     * @return
     */
    private ALRealIdentityCallback getALRealIdentityCallback() {
        return (alRealIdentityResult, s) -> {
            //DO your things
            LogUtils.debugInfo("RPSDK", "ALRealIdentityResult:" +     
            alRealIdentityResult.audit);
            if (alRealIdentityResult.audit == 1) { //识别成功,是要对比的图片
                userInfo.setCertification("2");
                mPresenter.updateSelfInfo(userInfo);
            } else {//识别失败
                userInfo.setCertification("-1");
                mPresenter.updateSelfInfo(userInfo);
            }
        };
    }

AndroidManifest.xml

<manifest>
...
     <application>

...
      <!--    阿里云识别    -->
        <activity         
        android:name="com.alibaba.security.biometrics.activity.ALBMiometricActivtiy"
            android:hardwareAccelerated="true"
            />
        <activity android:name="com.alibaba.security.rp.activity.RPTakePhotoActivity"
            android:screenOrientation="portrait"
            />
        <activity android:name="com.amap.api.navi.AmapRouteActivity"/>
        <activity android:name="com.alibaba.security.rp.activity.RPH5Activity"
            android:screenOrientation="portrait"
            />
    </application>

</manifest>

--------------------------------------------------------------------------------完成分割线--------------------------------------------------------------------------

总结:

如果遇到没有错误的闪退,解决方法 :1.加上AndroidManifest的acitivity声明

2.如果不行 降低gradle版本

#Fri Apr 03 17:37:12 CST 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
#distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
buildscript {
    ext.kotlin_version = '1.3.61'
    repositories {
        google()
        maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
        jcenter()
    }

    dependencies {
//        classpath 'com.android.tools.build:gradle:3.6.2'
        classpath 'com.android.tools.build:gradle:3.3.1'
...
    }
...
}

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值