将Unity项目改为aar模块
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
- 使用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项目改为aar模块相关推荐
- unity 项目实践经验 和 架构体系
GameRes游资网授权发布 文 / 吴秦(Tyler) 本次分享总结,起源于腾讯桌球项目,但是不仅仅限于项目本身.虽然基于Unity3D,很多东西同样适用于Cocos.本文从以下10大点进行阐述: ...
- Unity项目接入IOS的Admob Native(原生视频广告) IOS SDK
实现的功能与Unity项目接入Android的Admob Native(原生视频广告) SDK(二.AS导出aar)相同,但IOS的操作与Android完全不同,接入IOS的SDK大概实现流程是: 1 ...
- idea怎么给项目改名_IDEA相关配置【java项目改造成web项目】
在平时写项目学习java的时候,有没有这么一种情况:我们一开始建立了一个普通的java项目,但是随着我们编码的进行,发现项目需要部署到Tomcat服务器上运行测试.此时有两种解决方案:[1]创建一个w ...
- 2021Unity学习教程:本地下载的Unity项目怎么打开?
2021Unity学习教程:Unity项目怎么打开? 前言:很多人想通过下载学习Unity项目资源来快速上手Unity,但初学者有时在打开文件这一步就遇到了问题.其实,Unity项目工程需要在Unit ...
- unity 项目开发——浅谈设计模式的六大原则(一)
目录 前言 首先,六大原则是谁? 其次,为什么需要学习这六大原则? 正文 一.单一职责原则 示例: 因此我们需要进行拆分,根据具体的职能可将其具体拆分如下: Unity 单一职责原则 二.开闭原则 U ...
- 笔记23 Unity项目:超级玛丽
笔记23 Unity项目:超级玛丽 拖放地图,裁剪精灵,形成跑步动画,精灵渲染器 摄像机跟随+代码CameraControl 玛里奥动画 给马里奥.地面等添加碰撞器.刚体(注意是2D的!) 添加音乐播 ...
- 【狂云歌之unity_vr】unity项目持续集成dailybuild以及多平台打包管理
[狂云歌之unity_vr]unity项目持续集成dailybuild以及多平台打包管理 前言 持续集成的意义就不多说了.unity通常打包一般就直接build&run,但是在实际项目中,往 ...
- 【狂云歌之unity_vr】unity项目持续集成cibuilddailybuild
[狂云歌之unity_vr]unity项目持续集成dailybuild以及多平台打包管理 前言 持续集成的意义就不多说了.unity通常打包一般就直接build&run,但是在实际项目中,往 ...
- Unity 项目中资源管理(续)
转载自:https://zhuanlan.zhihu.com/p/28324190 上次和大家分享了Unity项目中的资源管理主要讲资源配置以及资源配置工具,Unity资源配置在资源管理中处于基础地位 ...
- Unity项目如何组织目录结构
前言 组织好项目的目录结构,是维护项目的很重要的一个点,我们学习别人源码,了解别人的设计思路都是从目录结构开始,一个清晰的目录结构,对项目开发维护,项目管理来说非常的重要,目录维护的好,大家在一起工作 ...
最新文章
- ElasticSearch _xpack用户管理
- 使用Deinstall专用工具删除Oracle Database
- mysql基本数据库操作
- 优秀程序员的秘密|宝贵经验分享
- 【转载】#323 - A Generic Class is a Template for a Class
- I2C总线时序模拟(二)-加深理解总线协议
- oracle hcm 发展,甲骨文发布Oracle HCM Cloud云服务 呈现三大亮点
- Lucene全文检索_分词_复杂搜索_中文分词器
- ASP.NET母版页和内容页之间如何互相传值?
- 计算机组成原理 唐朔飞笔记,计算机组成原理笔记(唐朔飞版)
- 宿舍管理系统c语言程序代码,宿舍管理系统(c语言版)
- 小程序和H5 之间的通信
- PayPal的钱如何提现?PayPal商家终于可以松口气了!
- python数学符号读法大全_常用数学符号读法大全
- 关于C语言中的绝对值函数
- 苹果cms采集接口配置教程
- the sip module implements API v12.0 to v12.8 but the PyQt5.QtGui module requires API v12.9
- mysqlcount效率,总结到位
- Markdown 教程(三)Markdown 段落
- 一个列子演示java中弱引用的回收时机