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

这篇具有很好参考价值的文章主要介绍了Uniapp和原生aar混合使用初体验。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

3.生成aar包:打开右侧工具栏:gralde,找到需要生成aar的library模块,打开task->other,双击运行assembleRelease,然后就生成了aar包,如下图中的步骤3
Uniapp和原生aar混合使用初体验
前期的准备工作就算完成

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

1.直接导入UNIAPP工程,打开HBuilderX,步骤如下,导入本地文件,即刚才下载的官方资料中的UniPlugin-Hello-AS\uniapp\unipluginDemo
Uniapp和原生aar混合使用初体验
Uniapp和原生aar混合使用初体验
2.参照官方说明:需要创建插件目录
Uniapp和原生aar混合使用初体验
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"
        }
    }
}

相关参数解析参考官网

3.至此准备工作完成,尝试运行uniapp工程:运行->运行到手机或者模拟器,没有意外的话,会顺利运行
Uniapp和原生aar混合使用初体验
但是你会发现点击没有反应
Uniapp和原生aar混合使用初体验
打印报错:

[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

原来还差一些配置,走起

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

5.再次运行,运行->运行到手机或者模拟器->运行基座,勾选自定义调试基座
Uniapp和原生aar混合使用初体验
此时,再次执行
Uniapp和原生aar混合使用初体验
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原生插件(四):自定义基座运行文章来源地址https://www.toymoban.com/news/detail-426667.html

到了这里,关于Uniapp和原生aar混合使用初体验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • flutter产物以aar形式嵌入android原生工程

    以前做的项目中,flutter都是作为module嵌入原生工程中,新公司项目却是以aar形式嵌入android工程,这种优点是原生工程不必配置flutter环境也能跑了,这里记录一下简单步骤。 通过android studio创建一个flutter module,注意不要创建成flutter工程了,因为工程没法打包成aar。 创建完成

    2024年02月07日
    浏览(37)
  • 编写Android.mk / Android.bp 引用三方 jar 包,aar包,so 库

            在Android10之后,所有项目工程中,官方推荐使用Android.bp去编译构建,以前使用Android.mk构建的项目随着版本迭代升级,慢慢需要变更为Android.bp, 两者的语法都需要去了解并熟练使用。 笔者之前写过Android.mk的语句介绍,里面有介绍每句代码的含义编写Android.mk把Andro

    2024年02月06日
    浏览(48)
  • uniapp使用原生小程序插件

            本文主要讲述在uniapp上使用原生插件步骤 1、在使用插件之前,先登录微信公众平台,在微信公众平台,点击左下角设置==》第三方设置==》添加插件==》输入插件名字==》点击确定提交申请==》申请通过后可以使用该插件 第一步    2.搜索你需要的插件点击添加    

    2024年02月08日
    浏览(39)
  • uniapp 集成 Android Studio 使用原生插件

    前期工作 下载 Android Studio 下载 HbuilderX 对应的 App离线SDK 准备集成 打开选中项目 选中其中的模块文件夹 在该文件夹下的libs目录下添加需要使用的jar包(一般是第三方设备平台提供) 在该文件夹下的srcmainjava下的TestModule.java中写相应的业务实现 需要注意main文件夹下的Andr

    2024年02月15日
    浏览(48)
  • uniapp使用微信小程序提供的原生插件(组件)

    小程序交易保障标展示组件 为例 参考uniapp加载插件、微信小程序加载插件 1. manifest.json: 先打开manifest.json文件,然后我们找到\\\"mp-weixin\\\",引入需要使用的插件 2. pages.json 打开pages.json文件,然后再对应的页面配置处添加东西 3.页面使用

    2024年02月11日
    浏览(65)
  • 在uniapp中配置和使用原生小程序组件的方法

    在uniapp中配置和使用原生小程序组件的方法 如下图:

    2024年02月10日
    浏览(37)
  • 开发微信小程序使用原生开发还是uniapp开发

    大家好,我是蔓云科技的小蔓(写代码的平面师)。 今天给大家带来一门知识普及课,开发小程序使用原生还是uniapp,如果你想开发一款小程序,通过这个视频你会得到答案。 相信大家对小程序都不陌生吧,在生活的方方面面中都有它的身影,比如:社区团购、商城购物、

    2024年02月17日
    浏览(57)
  • uniapp+vue3+ts--编写微信小程序对接e签宝签署时跳转刷脸效果(人脸识别)中间页代码

    e签宝内嵌H5方式集成签署页的文档说明:https://open.esign.cn/doc/opendoc/case3/ahb0sg 签署时跳转刷脸效果示意图: 1. 在文件夹新建一个文件,路径为pages/middle/index,并在pages.json中注册。【ps这个路径要跟e签宝后台定义的中间页路径一致】 2.通过上面文档步骤进行相关代码编写,下面

    2024年01月25日
    浏览(59)
  • UniApp项目中 使用微信小程序原生语言 进行开发

    wxcomponents 下放的是微信小程序原生代码写的组件。我进行了封装 在你下uniApp 项目的根目录创建一个 wxcomponents 名字千万不要错 京东、支付宝灯参考下面图片 官方文档也有介绍 然后在你需要引入原生功能的页面里面引入你的组件(我这里提前已经放过来了。在上面图可看到

    2024年02月04日
    浏览(75)
  • 【混合时变参数系统参数估计算法】使用范数总和正则化和期望最大化的混合时变参数系统参数估计算法(Matlab代码实现)

     💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 文献来

    2024年02月10日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包