百度语音SDK移植使用Androidx包

题记

最近要做一个AR眼镜的项目,目前显示控制的逻辑已经完成。但不过领导想要使用语音对AR眼镜进行控制,所以我就决定使用百度SDK进行打发。

SDK的HelloWorld测试

这一部分只是顺便记录如何加入百度SDK到HelloWorld项目里,与官方教程差别不大。
SDK version:
audiobd_speech_sdk_asr_v3.0.12.2_20190515_c9eed5d
Android Studio version:
3.4.1

新建项目

在Android Studio里,选择File -> New -> New Project。
在这里插入图片描述
选择一个Empty Activity。
在这里插入图片描述
填写项目名,包名等信息。
在这里插入图片描述
新建好项目后,先运行一下确保没有问题。
在这里插入图片描述
正常运行。
在这里插入图片描述

加入百度语音SDK

先“暂时”使用demo里的APP_ID,API_KEY, SECRET_KEY, 包名。

导入SDK的core module

选择File -> New -> Import Module
在这里插入图片描述
选中SDK中的core文件夹
在这里插入图片描述
加载成功后。
在这里插入图片描述
在这里插入图片描述

配置依赖设置

选中app文件夹 -> 右键 -> Open Module Setting
在这里插入图片描述
先根据Modules core的信息,如果Compile Sdk Version,Target SDK Version, Min SDK Version等信息,设定Modules app的信息。
在这里插入图片描述
在这里插入图片描述
添加依赖
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
官方教程到这里结束。

Compiler的报错

然而,刚才跟着教程走一直都很顺利,但在我手中的这版Android studio是编译报错的!
在这里插入图片描述
错误: 程序包android.support.annotation不存在
原因是这样子的:
以前Google使用的都是android.support.v.~的包,但版本太乱太复杂,Google就收编为androidx了。
而百度语音SDK还是使用android.support.v.~的包。

为了响应新时代的号召,还是将android.support.v.~的包迁移到androidx包去吧。

原本

import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;

改为

import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;

原本

import android.support.annotation.NonNull;

改为

import androidx.annotation.NonNull;

然后就编程通过了。
在这里插入图片描述

调用自带的简易Demo

目前的MainActivity.java是使用继承自AppCompatActivity。

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

改为继承ActivityMiniRecog就可以了。
在这里插入图片描述

public class MainActivity extends ActivityMiniRecog {

//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_main);
//    }
}

在这里插入图片描述
测试语音识别效果。
在这里插入图片描述
实验成功!!!

后记

其实在迁移androidx前有尝试过另外一个办法。
但这个办法不推荐大家使用。
就是修改gradle.properties里的值。

在这里插入图片描述

发布了4 篇原创文章 · 获赞 0 · 访问量 337

猜你喜欢

转载自blog.csdn.net/AlexDish/article/details/97512415
今日推荐