当前位置:   article > 正文

Uniapp和原生aar混合使用初体验_uniapp aar

uniapp aar

一、编写原生代码,获取aar包,本例直接使用官方demo

1.首先下载官方demo:Android 离线SDK - 正式版
在这里插入图片描述
选择百度网盘,下载官方资料,解压后如下图
在这里插入图片描述
2.使用Android studio 打开UniPlugin-Hello-AS工程,该工程可以演示UNIAPP如何调用原生api
在这里插入图片描述
此处是我把资料中的汉字目录名称改为uniapp了

3.生成aar包:打开右侧工具栏:gralde,找到需要生成aar的library模块,打开task->other,双击运行assembleRelease,然后就生成了aar包,如下图中的步骤3
在这里插入图片描述
前期的准备工作就算完成

二、创建UNIAPP工程,本例直接使用官方工程,目的是熟悉混合交互流程

1.直接导入UNIAPP工程,打开HBuilderX,步骤如下,导入本地文件,即刚才下载的官方资料中的UniPlugin-Hello-AS\uniapp\unipluginDemo
在这里插入图片描述
在这里插入图片描述
2.参照官方说明:需要创建插件目录
在这里插入图片描述
testc为一级目录,目录名为自定义,android为二级目录,固定目录名;package.json为一级目录下的配置文件,需要配置插件的相关参数,用于,下一步的工程识别导入
package.json文件内容如下

{
    "name": "测试插件",
    "id": "testc",
    "version": "1.0.0",
    "description": "测试插件",
    "_dp_type":"nativeplugin",
    "_dp_nativeplugin":{
        "android": {
            "plugins": [
                {
                    "type": "component",
                    "name": "TestText",
                    "class": "io.dcloud.uniplugin.TestText"
                },
				{
				    "type": "module",
				    "name": "TestModule",
				    "class": "io.dcloud.uniplugin.TestModule"
				},
				{
				    "type": "module",
				    "name": "RichAlertModule",
				    "class": "io.dcloud.uniplugin.RichAlertModule"
				}
            ],
            "integrateType": "aar"
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

相关参数解析参考官网

3.至此准备工作完成,尝试运行uniapp工程:运行->运行到手机或者模拟器,没有意外的话,会顺利运行
在这里插入图片描述
但是你会发现点击没有反应
在这里插入图片描述
打印报错:

[JS Framework] 当前运行的基座不包含原生插件[TestModule],请在manifest中配置该插件,重新制作
包括该原生插件的自定义运行基座
16:09:19.330 TypeError: Cannot read property 'testAsyncFunc' of undefined
16:09:21.787 TypeError: Cannot read property 'testSyncFunc' of undefined
16:09:22.378 TypeError: Cannot read property 'gotoNativePage' of undefined
  • 1
  • 2
  • 3
  • 4
  • 5

原来还差一些配置,走起

4.配置manifest:选择添加插件,选择本地插件选择:1->2->3->4->5,over
在这里插入图片描述
5.最后一项配置:配置自定义运行基座,这个词是官方说的,不明所以然,不理解,点击运行,运行->运行到手机或者模拟器->制作自定义调试基座
在这里插入图片描述
在这里插入图片描述
有二个选项可以修改,证书和打包选项,目前因为是测试demo,可以直接选择使用云端证书,打包使用传统打包,如果后期开发的话,就需要使用自由证书可以选择安心打包(本地打包)
点击打包,如果报错,则根据错误修改,列如,过度索取权限,那么就去mainfest中去把该权限勾选取消即可;如果打包失败,则多试几次,云打包总是那么不靠谱,第一次就没用成功,又试了一次就OK,一脸懵逼。

5.再次运行,运行->运行到手机或者模拟器->运行基座,勾选自定义调试基座
在这里插入图片描述
此时,再次执行
在这里插入图片描述
evrything is ok!

这个时候再去点击发现,已经可以调用aar的方法了,至此完成uniapp调用android原生方法的整个流程,实现了Uniapp中调用android原生方法。

本文主要是用于初次使用uniapp的开发者,了解uniapp调用android原生方法的流程,跑通一个demo,提高自信,避免因为混乱的文档和demo的各种报错,导致的暴躁和失去信心,因为我也因为这个感到暴躁过,对初次接触UNIAPP的太不友好了。。。。。

参考资料(感谢前辈们的分享)
1.uniapp开发android原生插件(一):新建插件
2.uniapp开发android原生插件(二):引入依赖、开发插件
3.uniapp开发android原生插件(三):uniapp集成aar插件
4.uniapp开发android原生插件(四):自定义基座运行

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/500772
推荐阅读
相关标签
  

闽ICP备14008679号