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都小写
相关推荐
砖厂小工5 小时前
用 GLM + OpenClaw 打造你的 AI PR Review Agent — 让龙虾帮你审代码
android·github
张拭心5 小时前
春节后,有些公司明确要求 AI 经验了
android·前端·人工智能
张拭心6 小时前
Android 17 来了!新特性介绍与适配建议
android·前端
小时前端6 小时前
微信小程序选不了本地文件?用 web-view + H5 一招搞定
前端·微信小程序·uni-app
Kapaseker8 小时前
Compose 进阶—巧用 GraphicsLayer
android·kotlin
黄林晴8 小时前
Android17 为什么重写 MessageQueue
android
Mr_li1 天前
给 Vue 开发者的 uni-app 快速指南
vue.js·uni-app
anyup1 天前
🔥2026最推荐的跨平台方案:H5/小程序/App/鸿蒙,一套代码搞定
前端·uni-app·harmonyos
阿巴斯甜1 天前
Android 报错:Zip file '/Users/lyy/develop/repoAndroidLapp/l-app-android-ble/app/bu
android
Kapaseker1 天前
实战 Compose 中的 IntrinsicSize
android·kotlin