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都小写
相关推荐
xiangpanf2 小时前
Laravel 10.x重磅升级:五大核心特性解析
android
robotx5 小时前
安卓线程相关
android
消失的旧时光-19435 小时前
Android 面试高频:JSON 文件、大数据存储与断电安全(从原理到工程实践)
android·面试·json
dalancon6 小时前
VSYNC 信号流程分析 (Android 14)
android
dalancon7 小时前
VSYNC 信号完整流程2
android
dalancon7 小时前
SurfaceFlinger 上帧后 releaseBuffer 完整流程分析
android
用户69371750013848 小时前
不卷AI速度,我卷自己的从容——北京程序员手记
android·前端·人工智能
程序员Android8 小时前
Android 刷新一帧流程trace拆解
android
墨狂之逸才9 小时前
解决 Android/Gradle 编译报错:Comparison method violates its general contract!
android
阿明的小蝴蝶9 小时前
记一次Gradle环境的编译问题与解决
android·前端·gradle