关于Uniapp的Android自定义基座使用

文章目录

前面也使用过几次,但是没有系统地进行记录,这次做一个记录,以及当作一个指引
下面的都是基于Android个人的理解或者记录,有错误或者出入,谢谢指正

放在前面

只要需要制作自定义基座,不管是离线的还是云打包的,第一步一定要把应用在平台的信息填写申请,获取到这些信息,包括appid,包名,签名,dcloud_appkey等等

只要做自定义基座,一定要先获取这些信息

只要做自定义基座,一定要先获取这些信息

只要做自定义基座,一定要先获取这些信息

不然后面做的磕磕绊绊,全是坑

Uniapp,基座

首先,uniapp运行到浏览器不再解释,基本纯uniapp的功能

基座:就是uniapp运行到手机的一个容器,本质是一个apk

标准基座:选择运行到手机基座,选择标准基座的时候,会生成一个没有签名,包名信息的基础可运行的apk容器,这个只是让你的应用可以运行到手机上看到效果

自定义基座:很多时候当需要调用一些原生功能,就需要做自定义基座了

自定义基座

这里先不讲离线基座,先说编译器的制作自定义基座

一般,当我们需要原生功能的时候,需要做一个原生插件,再来制作自定义基座

制作和使用原生插件

文章可以参考这里

我们制作了原生的插件,配置了相关信息,再填写应用相关的信息,直接使用HBuilderX制作自定义基座,这时候制作的基座就包含了原生插件的功能。

为什么?因为我们虽然只是提交了应用的包名等信息,但是制作基座的时候,编译器应该还读取了项目相关的文件和信息,读到了aar文件和配置,打包了进去【以上为我的猜测】

至此,我们可以调用到原生功能,且运行到手机上了

使用HBuilderX制作自定义基座官方文档

离线自定义基座

这个顾名思义,就是与云打包区分开来

云打包比较耗时,排队,且无法调试原生代码,查看原生日志。

如果需要这些需求,深度进行一下开发,就需要进行离线自定义基座

基座源码与Android Studio

既然是离线的,就要自己编写源码,使用Android Studio进行打包apk,再放入项目中使用

这部分参考官方文档

请仔细查看文档,下载对应的SDK,就获取到了官方的基座模板源码

至于使用Android打包apk,可以继续参考上面的官方文档,这里不赘述

重点,修改源码

这里就用到最前面强调要获取的信息

准备工作

除了前面强调获取的信息,这里还需要uniapp打包出一个www的资源包

打包方法,使用HBuilderX

生成本地app资源

修改模板项目

可参考文章

就以UniPlugin-Hello-AS举例

lib包

一般的,这些就够了,有时需要加一个调试包

参考文章

放置www资源

这一步要有,否则打包出的基座,不知道打开哪里的页面,可以说基座与这个资源是强绑定,且需要匹配的

即使其他配置正确,这个www资源不匹配,基座运行成功后会停留在启动页面,无法进入项目页面

替换掉模板的www资源就可以,位置如下

修改dcloud_control文件

打开这个位置的dcloud_control文件

保证这里的完全一致:__UNI__xxxxxx

在manifest中添加dcloud_appkey

一定要有,在application标签中,添加

这个value就是你在dcloud平台上获取到的

这个Android后面的,就是所需要的key

build.gradle中配置包名和签名

这个文件中的这两个字段,基本是一致的,都是在平台上申请的包名

这些信息都要与在平台上获取的保持一致,否则基座运行会报错

我自己遇到的问题:

在5.26版本中,还需要在build.gradle中引入一个库,否则会报错

implementation 'net.lingala.zip4j:zip4j:2.11.5'

到这里基本可以了。

打包apk

这个简单说一下

这样我们就有了自定义的apk

将apk用于uniapp项目

将apk放置在这个目录下,没有目录就自己创建 unpackage/debug/android_debug.apk

注意这里apk的名称必须是这个,否则运行到自定义基座的时候,会找不到

最后运行

这里不再说了

基座与uni强绑定,必须各个信息一致,否则就是各种报错和坑

基座运行

此时的基座,运行的是h5的逻辑,lib包中是

如果需要的是打开小程序,那么lib包中的就是

两者不能共存,会冲突

一般情况下,会用第一个,看需求吧

相关推荐
TST-魚爷1 小时前
易视讯会议摄像头电视安装教程
android·电脑·钉钉·腾讯会议·zoom会议
墨天梦11 小时前
B17_LifecycleLiveData与Flow
android·kotlin
_祝你今天愉快12 小时前
UI核心 - 绘制流程(测量、布局、绘制)
android
冬奇Lab13 小时前
LLM 驱动的自动化测试系列(07):移动端自动化(三)——Mobile-Agent-v3 与自研 GUI-Owl 模型路线
android·人工智能·测试
leobertlan16 小时前
痛苦系列 | DSP-02 频域切片:DTFT与DFT的探索
android·后端
leobertlan17 小时前
痛苦系列 | DSP-01 从连续到离散:DSP基础与采样
android·后端
事圆则缓20 小时前
Android 视频压缩上传实战:从 content Uri、转码到断点续传
android
冉冉同学1 天前
AI Agent 开始操作真实手机:移动端自动化的 3 个新考点
android·ai编程
帅得不敢出门1 天前
Android Framework关闭软件低电关机功能测试PMIC低电保护
android