将Unity项目改为aar模块

简介: 1.Unity导出gradle项目由负责Unity开发的同事将Unity项目导出gradle项目。2.将gradle项目改为aar模块2.1 修改AndroidManifest.xml文件修改application将application中的Android:icon删掉修改启动Activity修改minSdkVersion和targetSdkVersion2.

1.Unity导出gradle项目

由负责Unity开发的同事将Unity项目导出gradle项目。

2.将gradle项目改为aar模块
2.1 修改AndroidManifest.xml文件
修改application
将application中的Android:icon删掉

修改启动Activity







修改minSdkVersion和targetSdkVersion


2.2 修改build.gradle文件
修改apply plugin
apply plugin: 'com.android.library'
删除applicationId
3.打包aar
执行打包命令,可以利用Android Studio的Gradle

执行打包命令

获取aar
aar包地址:根目录buildoutputsaar

  1. 使用aar
    4.1 导入aar

将第3步获取到的aar放在要应用的项目的
根目录applibs

修改模块的build.gradle

修改aar目录
android {
//...
repositories {
flatDir {
dirs 'libs' //this way we can find the .aar file in libs folder
}
}
}
添加aar依赖
implementation(name: 'test-release', ext: 'aar')
至此,Unity改为aar并导入已经完成。

Q&A
Q: unity项目中有视频,导入aar后,应用不能播放视频并存在警告
W/Unity: AndroidVideoMedia OpenExtractor: file is compressed, not supported
A: 修改build.gradle文件,添加如下代码即可

android{
//...
aaptOptions { noCompress '.unity3d', '.ress', '.resource', '.obb' }
}
Q:在我的项目中的Unity aar的Activity使用了摄像头,其中的sdk存在摄像头释放问题,在不断的调用Unity aar的时候可能会发生项目闪退的问题。
A:在本身的Unity应用并不存在该问题,因为Unity应用退出会退出进程释放摄像头资源,但是在我的项目中,退出Unity Activity不会退出本身进程,导致摄像头存在释放资源问题,并且使用的sdk只能在本身包名的进程中使用,新建进程并不能使用。
因此,我的解决办法是在本身项目中的其他Activity运行在新建的进程,使用aar的时候会使用本身包名进程,在退出unity项目Activity,该进程会退出,以达到释放摄像头资源的效果。

android:process=":test"/>
没进入Unity模块时的进程状况
没进入Unity模块时的进程状况
进入Unity模块时的进程状况
进入Unity模块时的进程状况
Unity模块的Activity在本包名的进程中运行,退出Unity模块的Activity时com.unitydemo进程会退出,已达到解决释放资源的问题。
更多unity2018的功能介绍请到paws3d爪爪学院查找。

相关文章
|
缓存 图形学
Unity 之 关于UnityHub无法打开项目的问题(弹出Unity启动界面有退回到Hub选择工程界面)
弹出Unity启动界面有退回到Hub选择工程界面方案一:万能的重启大法;方案二:未开启许可证;方案三:终极奥义 -- 弃用Hub
3050 0
Unity 之 关于UnityHub无法打开项目的问题(弹出Unity启动界面有退回到Hub选择工程界面)
|
8月前
|
数据采集 算法 数据可视化
Unity实现camera数据注入RMP推送或轻量级RTSP服务模块
Unity实现camera数据注入RMP推送或轻量级RTSP服务模块
|
10月前
|
人工智能 算法 安全
开源游戏区块链项目分享:Unity开发的独立区块链
开源游戏区块链项目分享:Unity开发的独立区块 2023年了,区块链在这此时代热浪下都已经是即将燃尽的火苗了,而ChatGPT、Stable Diffusion等AI产品已经成为当下风口和热浪。然而区块链作为上一任浪热下的余晖,真的就这么完事了么?其实目前区块链在国内更多作为信用链存在,用于法律签约、物流运输、商务合作、加密合约等等公共底层方面。 而此文将不仅探讨区块链的其他实际用途,同时也开源了一个Unity3D C#编写的区块链代码,如果你是技术人员,刚好你做区块链项目,希望这个文章和代码能帮助到你。
536 0
|
算法 定位技术 图形学
unity实战之关卡模块
unity怎么制作关卡寻路?
|
机器人 图形学 Ruby
【Unity开发实战】—— 2D项目1 - Ruby‘s Adventure 游戏中动画制作(4-1)
【Unity开发实战】—— 2D项目1 - Ruby‘s Adventure 游戏中动画制作(4-1)
202 0
【Unity开发实战】—— 2D项目1 - Ruby‘s Adventure 游戏中动画制作(4-1)
|
定位技术 API 图形学
【Unity开发实战】—— 2D项目1 - Ruby‘s Adventure 游戏世界中各个对象的交互(3-1)
【Unity开发实战】—— 2D项目1 - Ruby‘s Adventure 游戏世界中各个对象的交互(3-1)
233 0
【Unity开发实战】—— 2D项目1 - Ruby‘s Adventure 游戏世界中各个对象的交互(3-1)
|
存储 定位技术 图形学
【猿创征文|Unity开发实战】—— 2D项目1 - Ruby‘s Adventure 游戏地图绘制(2-1)
【猿创征文|Unity开发实战】—— 2D项目1 - Ruby‘s Adventure 游戏地图绘制(2-1)
224 0
【猿创征文|Unity开发实战】—— 2D项目1 - Ruby‘s Adventure 游戏地图绘制(2-1)
|
开发框架 图形学
Unity Hub 自定义一个创建新项目模板(Template)
Unity Hub 自定义一个创建新项目模板(Template)
386 1
Unity Hub 自定义一个创建新项目模板(Template)
|
存储 vr&ar C#
Unity学习4:如何实现2D图像跟踪(涂色类AR项目实践1)
AR tracked image manager(2D图像检测追踪管理器)
350 0
Unity学习4:如何实现2D图像跟踪(涂色类AR项目实践1)
|
存储 缓存 编解码
项目优化之优化技巧进阶(Unity3D)(一)
做游戏经验比较丰富的人都知道,优化的好坏一直是一个游戏的评判标准之一,它直接影响着玩家们的游戏体验,优化一直是项目中开发周期比较长的一个点,也是开发者头疼的一个问题,要求掌握的知识点比较全面,经验也要求比较丰富。 这篇文章参考很多文章的知识点,加以总结与学习,从最基础的概念讲起,配合讲解各种优化技巧,希望大家可以在我的文章中学到一些东西。