android studio开发UniComponent<SurfaceView>组件

目录

前言

[1. Android环境搭建](#1. Android环境搭建)

[2. HBuilderX 开发工具下载](#2. HBuilderX 开发工具下载)

[3. Android 离线SDK下载](#3. Android 离线SDK下载)

[4. 使用Android studio打开UniPlugin-Hello-AS项目](#4. 使用Android studio打开UniPlugin-Hello-AS项目)

[5. 在UniPlugin-Hello-AS项目中创建一个camera preview module](#5. 在UniPlugin-Hello-AS项目中创建一个camera preview module)

[6. 配置Camera Preview](#6. 配置Camera Preview)

[7. 创建一个CameraPreview类集成UniComponent](#7. 创建一个CameraPreview类集成UniComponent)

[8. 编译打包aar](#8. 编译打包aar)

总结


前言

记录学习使用android studio开发UniComponent<SurfaceView>组件的过程

Uni APP官方文档原生开发传送门


1. Android环境搭建

Android studio, SDK, JDK的下载安装网上有很多,需要的同学可以自己网上搜一下。有问题的同学也可以留言。

2. HBuilderX 开发工具下载

下载传送门

3. Android 离线SDK下载

下载传送门

如果使用百度网盘下载的同学,把设置里面优化速度的设定打开,如图

下载完成后,解压如下图,我用的是4.76的版本

4. 使用Android studio打开UniPlugin-Hello-AS项目

打开成功后可以看到里面已经包含了Module, Component, richalert的开发实例了。

5. 在UniPlugin-Hello-AS项目中创建一个camera preview module

选择Android library, 填上名字和包名

点击"完成", 成功后应该像下面这样

6. 配置Camera Preview

  1. 打开camera_preview下面的build.gradle文件,修改compileOptions里面的JavaVersion为1.8. 我使用的是1.8的,11的没使用过
  1. 把dependencies下面的依赖都删除,将uniplugin_component下面的build.gradle文件中的依赖都复制过来

结果是这样:

7. 创建一个CameraPreview类集成UniComponent<SurfaceView>

在这个类可以增加一些需要添加的方法,如果这个方法需要在uni app中使用,需要添加@UniJSMethod ,后面括号中的uiThread = true可以不添加,默认为true

8. 编译打包aar

点击android studio右上角的gradle按钮,然后选择camera_preview下面的other中的assembleRelease, 双击开始打包

如果点开gradle后,在camera_preview下面没有发现other, 打开android studio 的settings, 选左边的Experimental,勾选红色的复选项。然后重启android studio

打包成功后如下:


总结

  1. 如果代码中想使用fireEvent进行传值的时候,一定要在主线程中,key都小写
相关推荐
alexhilton8 小时前
Room Fts4:全文搜索替代 SQL LIKE
android·kotlin·android jetpack
hai_android14 小时前
把 Android App 打包成系统应用(System App)
android·kotlin·android jetpack
JMchen14 小时前
【Jetpack 内核实战 01】开篇:Jetpack 组件全家桶核心逻辑与专栏完整规划
android·kotlin·android jetpack
骑着蜗牛撵大象32716 小时前
Linux 进程间通信之管道:从 pipe() 的内核语义到 FIFO 落地排错
android·java·linux·系统编程·fifo·管道·进程间通信
hunterandroid16 小时前
Retrofit 网络请求的异常处理与重试策略实战
android
sejinan17 小时前
极致轻量与秒级起播:NativeWasmTv 开源硬核技术解析与升级版体验
android·开源·webview·tv
小羊没烦恼!17 小时前
Ajax与JSON的一些总结
android·java·前端·数据库·mysql·算法·okhttp
mmsx17 小时前
Android 静默失败实录:五个没有日志的线上事故
android·kotlin
hai_android18 小时前
从零实现一个支持跨进程(IPC)的自定义 Toast
android·kotlin·android jetpack
龙腾-虎跃18 小时前
基于 SIP 协议的自研电话终端:FreeSWITCH 语音与视频通信实战
android·音视频·freeswitch·sip协议终端·wertc