您现在的位置是:首页 > 文章详情

将Unity项目改为aar模块

日期:2019-03-28点击:530

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爪爪学院查找。

原文链接:https://yq.aliyun.com/articles/695909
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章