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都小写
相关推荐
2601_949833391 小时前
flutter_for_openharmony口腔护理app实战+知识实现
android·javascript·flutter
晚霞的不甘1 小时前
Flutter for OpenHarmony从基础到专业:深度解析新版番茄钟的倒计时优化
android·flutter·ui·正则表达式·前端框架·鸿蒙
鸟儿不吃草2 小时前
android的Retrofit请求https://192.168.43.73:8080/报错:Handshake failed
android·retrofit
Minilinux20182 小时前
Android音频系列(09)-AudioPolicyManager代码解析
android·音视频·apm·audiopolicy·音频策略
郑州光合科技余经理2 小时前
可独立部署的Java同城O2O系统架构:技术落地
java·开发语言·前端·后端·小程序·系统架构·uni-app
李子红了时2 小时前
【无标题】
android
雪芽蓝域zzs2 小时前
uniapp 取消滚动条
uni-app
Android系统攻城狮3 小时前
Android tinyalsa深度解析之pcm_close调用流程与实战(一百零四)
android·pcm·tinyalsa·音频进阶·音频性能实战·android hal
weixin_411191843 小时前
LifecycleEventObserver和DefaultLifecycleObserver使用
android
2401_865854884 小时前
Uniapp和Flutter哪个更适合企业级开发?
flutter·uni-app