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都小写
相关推荐
宠友信息1 小时前
Redis 内容社区源码架构优化与即时通讯数据一致性处理
spring boot·后端·websocket·mysql·uni-app
QiLinkOS2 小时前
QiLink OS的失败数据共享平台的运作模式是否适用于所有行业?
android·开发语言·人工智能·算法·重构·开源
杉氧2 小时前
Framework 补完计划 (2):BufferQueue 与 SurfaceFlinger —— 像素的跨进程“接力赛”
android·架构·android jetpack
牢七2 小时前
RCE?复现成功
android
一化十3 小时前
Android16 自定义全局手势 任意界面依次点击屏幕四个角返回Home界面
android
三少爷的鞋4 小时前
Android 面试系列:Kotlin 协程的 delay 到底发生在哪个线程?
android
我命由我1234515 小时前
Android 开发问题:ClickableSpan 的点击事件没有生效
java·java-ee·android studio·android jetpack·android-studio·android runtime
TechNomad16 小时前
Kotlin_Lambda编程详解
android·kotlin
CHB16 小时前
uni-app x 蒸汽模式 iOS版 性能测试基准报告 Benchmark
ios·uni-app·swiftui
熊猫_豆豆16 小时前
QT6 Android C++ 自制美观闹钟
android·c++·qt·闹钟