uni-app安卓原生插件开发记录

一、背景介绍

       由于公司项目需要,需要开发uni-app的安卓原生插件在项目中使用,第一次接触这东西,看了官网的文档:Android uni-app原生插件开发文档,对小白来说,还是踩了很多坑,折腾了很久,自己整理记录了一下,方便以后查阅。

    这个2篇文档写的非常详细,基本够用了:

          1. uniapp原生安卓插件开发之路

          2.Uni-app原生插件基础开发文档

 

二、开发流程

      上面2篇文档和官网的已经写的很详细了,我就不在写了,在这主要是总结一下,当时按照文档确实做出来了,但是开发调试过程中很麻烦,其实官网上提供了2种插件调试方式,但是无论是官网还是参考的文章中第一次看都比较迷糊,在此介绍一下:

第一种调试方式,在HbuildX中:

       使用android-studio写好插件,放到HbuildX新建的项目中,进行云打包后运行(必须云打包插件才能生效,否则只是运行无法生效),而且要使用自定义基座的方式

但是这种云打包方式有次数限制,每天只有7次(不是土豪,没开会员的话)打包机会(开始的时候会有各种打包失败,也算次数),建议先用先在android-studio离线运行ok后,再进行云打包

 

第二种调试方式,使用AndroidStudio(推荐):

      过程如下:

1.导入UniPlugin-Hello-AS工程,新建插件模块

    (1)去官网下载UniPlugin-Hello-AS工程,导入到android studio中,解决各种编译报错问题,保证能编译成功,并且能运行起来(这里的坑就太多了,就不说了)

    (2)新建一个module,选择lAndrod Library

      (3)  name和package name后面经常会有的,建议一开始就把工具类名字想好,不然后面修改也麻烦

      

(4)配置dcloud_uniplugins.json插件(这里配置插件后,打包之后才能使用这个插件,这里配置跟HbuildX后面要配置的一样)

     type: 类型,有module和component 2中类型

     name:插件名

     class:  这个是对外暴露的类,需要继承uni app封装的类,如UniModule

 

(5)在app的build.gradle中添加插件,参照里面给的添加

2.生成uni本地app资源

  (1)新建uni项目

  (2)在项目中导入插件,调用插件的方式(package.json文件可以先不配置,在云打包的时候再配置)

 (3)发行--》原生app本地打包 --》生成本地app资源

 

3.将生成的app资源配置到android studio中

  (1)导入UniPlugin-Hello-AS工程

  (2)将生成的本地app资源拷贝到项目的:app/assets/apps 目录下面

(3)在app/assets/data/dcloud_control.xml中配置自己的app id (本地app资源打包的时候可以自动生成,打包后文件夹名字就是的)

 

4.编译aar文件,运行app

     点击Task下面的,other --> assembleRealse脚本打包aar文件(打包成功后,在模块的out目录下,aar文件),点击运行app,然后就可以愉快的调试了

 

uni-app本身没有提供原生的语音识别插件,但你可以通过uni-app的原生插件扩展功能来实现语音识别。具体的步骤如下: 1. 首先,确定你想要使用的语音识别插件。在uni-app中,你可以选择使用第三方语音识别插件,例如科大讯飞、百度语音等。你需要根据插件的文档进行相应的配置和集成。 2. 在uni-app项目中创建一个原生插件的目录。你可以在项目根目录下的`uni_modules`目录中创建一个新的目录,例如`uni-plugin-voice`。 3. 在插件目录中创建一个`manifest.json`文件,用于配置插件信息。在`manifest.json`中,你需要指定插件的名称、版本号、依赖等信息。具体的配置可以参考uni-app插件开发文档。 4. 在插件目录中创建一个原生代码的目录,例如`ios`和`android`。 5. 在原生代码目录中,根据平台分别实现对应的语音识别功能。你可以使用iOS和Android各自的语音识别API,或者调用第三方语音识别SDK来实现功能。具体的实现方式会因为使用的语音识别插件而有所不同,你需要参考对应插件的文档进行具体操作。 6. 编译和集成原生插件。根据插件的要求,进行相应的编译和集成操作。对于iOS平台,你需要将插件目录添加到Xcode项目中,并配置相应的依赖关系。对于Android平台,你需要将插件目录添加到Android Studio项目中,并配置相应的依赖关系。 7. 在uni-app的页面中使用语音识别功能。你可以在表单输入框的组件中添加一个触发语音识别的按钮或图标,并在对应的事件处理函数中调用原生插件提供的接口进行语音识别。 请注意,以上步骤是一个大致的流程,具体的实现方式和步骤可能会因为你选择的语音识别插件而有所不同。在实际操作中,你需要根据所用插件的文档和示例代码进行相应的调整和修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值