本文主要介绍百度语音识别SDK在Android端的集成流程
创建Android Module
主要为了集成语音SDK并提供Dart端调用的接口服务
在Android Studio 中打开Flutter工程的android工程
在打开的android工程中新建android module。
新建完成后的android工程目录结构如下:
集成SDK
在百度智能云官网注册账号并登录。
登录成功后进入应用管理入口,创建新应用。
创建应用之后,在SDK下载入口下载对应版本的SDK(这里以Android端为例)。
下载完成后开始在新创建的Android Module中集成SDK。
-
拷贝jar包到module工程的
libs
目录
-
拷贝
so
到module工程的src/main/jniLibs
目录,没有则创建
-
精简架构
so
库
考虑到Flutter可以支持的架构,对Android Module的架构库进行精简
Flutter没有
armeabi
、armeabi-v7a
架构的so
,加x86
是为了能够兼容模拟器,现在的模拟器为了提速通常都只是支持x86架构。 -
混淆
按照官方文档说明进行混淆配置。proguard-rules.pro
-keep class com.baidu.speech.**{*;}
-
AndroidManifest.xml
配置
按照官网文档说明进行配置。meta-data
配置信息到百度智能云后台创建的应用列表进行查看。
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.cnw.plugin"> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <!-- 智能语音识别SDK所需要的权限 --> <application> <meta-data android:name="com.baidu.speech.APP_ID" android:value="25916049" /> <meta-data android:name="com.baidu.speech.API_KEY" android:value="SCHMoqOwKajId7CSNFynOR27" /> <meta-data android:name="com.baidu.speech.SECRET_KEY" android:value="5BPnfr99VlwBpqw81Qr1d2KDUAgIpfiA" /> <!-- 智能语音识别SDK所需要的服务 --> <service android:name="com.baidu.speech.VoiceRecognitionService" android:exported="false" /> </application> </manifest>
接入Module工程
在android app主工程的build.gradle
中接入集成了语音SDK的Module工程。
build.gradle
dependencies {
implementation project(':asr_plugin')
}
到此Android端集成智能语音SDK的流程就结束了,下一篇将介绍Android端如何实现Dart端使用的语音识别服务,以及Dart和Native间的交互实现。