开始学习Android端的语音识别

在Android Studio的Project视图下打开Testvoice/app/libs文件夹可以看到Baidu-SpeechRecognitionUI-SDK-Android-1.6.2.jar,右键单击它选择Add as library,然后在出现的Create Library对话框中选择一个module,我这里当然选择app这个module了。

然后我们还需要引入.so文件,这个时候就需要修改build.gradle配置文件了,在android语句块内紧跟buildTypes语句块添加两个语句块如下:

task nativeLibsToJar(type: Zip, description: "create a jar archive of the native libs") {

destinationDir file("$projectDir/libs")

baseName "Native_Libs2"

extension "jar"

from fileTree(dir: "libs", include: "armeabi/*.so")

into "lib"

}

tasks.withType(JavaCompile) {

compileTask -> compileTask.dependsOn(nativeLibsToJar)

}

注意:这里面语句

from fileTree(dir: "libs", include: "armeabi/*.so")

armeabi/*.so是需要根据.so文件的路径来改的,由于我的.so文件都放在libs子文件夹armeabi中,所以斜杠前面写的是armeabi。

完整的build.gradle文件如下:

apply plugin: 'com.android.application'

android {

compileSdkVersion 23

buildToolsVersion "23.0.1"

defaultConfig {

applicationId "com.example.zjl.testvoice"

minSdkVersion 14

targetSdkVersion 23

versionCode 1

versionName "1.0"

}

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

}

}

task nativeLibsToJar(type: Zip, description: "create a jar archive of the native libs") {

destinationDir file("$projectDir/libs")

baseName "Native_Libs2"

extension "jar"

from fileTree(dir: "libs", include: "armeabi/*.so")

into "lib"

}

tasks.withType(JavaCompile) {

compileTask -> compileTask.dependsOn(nativeLibsToJar)

}

}

dependencies {

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

compile 'com.android.support:appcompat-v7:23.0.1'

}

到这里百度在线语音识别库已经导入我的工程testvoice中。

三、修改AndroidManifest.xml文件