首页 > 其他分享 >Unity嵌入安卓工程黑屏问题

Unity嵌入安卓工程黑屏问题

时间:2024-08-28 17:50:04浏览次数:10  
标签:嵌入 工程 安卓 gradle Unity noCompress 黑屏

最近遇到了个很怪异的问题:

  Unity Adroid嵌入其它工程开启unity,闪过logo后黑屏持续10多秒。

大致经过:

  Unity导出Android Studio工程,并将导出的unityLibrary嵌入其它已经做好的AndroidStudio工程,直接从Unity导出的Android Studio工程直接连接手机调试就不会出现卡顿现象,所以就针对启动unityLibrary的官方模板launcher找原因。对比了launcher的build.gradle与要嵌入的项目的build.gradle文件进行对比,终于发现了重点配置内容 android ==> aaptOptions 里面的 noCompress 项所致。

结论:

  如果发现闪屏过后黑屏很久,或加载/读取Resources资源,StreamingAssets资源卡顿严重,并且控制台什么错误都没有的话。

可以考虑下所嵌入的安卓工程里面的build.gradle ==> android ==> aaptOptions ==> noCompress 项配置,如果没配置的话,资源都被压缩了。所以在Unity运行时,需要加载资源之前都要经过一次解压操作,导致卡顿严重。

    aaptOptions {
        noCompress = ['.unity3d', '.ress', '.resource', '.obb', '.bundle', '.unityexp'] + unityStreamingAssets.tokenize(', ')
        ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:!CVS:!thumbs.db:!picasa.ini:!*~"
    }

 

标签:嵌入,工程,安卓,gradle,Unity,noCompress,黑屏
From: https://www.cnblogs.com/yzxhz/p/18385236

相关文章

  • 【Unity基础】Unity中移动物体的8种方法
    本文主要介绍物体线性移动方法,是基于3D场景介绍的。当然在2D场景中也有对应的方法。首先物理学上,物体的运动可以分为运动学和动力学,二者的区别在于是否受外力影响。具体可以参看《什么是运动学和动力学》。从运动学方面,是通过改变物体的位置来实现的。在Unity中,可以使用Tran......
  • 【Unity输入】Unity输入方式总结
    在Unity中,常见的输入方式包括以下几种:1.键盘输入Input.GetKey():用于检测特定键是否被按下。例如,用Input.GetKey(KeyCode.W)检测玩家是否按下“W”键来控制角色移动。Input.GetKeyDown():用于检测某个键在当前帧是否被按下。Input.GetKeyUp():用于检测某个键在当前帧是否......
  • Unity 3D学习资料集合
    本文包含了unity3D游戏开发相关的学习资料,包含了入门、进阶、性能优化、面试和书籍等学习资料,含金量非常高,在这里分享给大家,欢迎收藏。学习社区1.Unity3D开发者Unity3D开发者论坛是一个专注于Unity引擎的开发者社区。在这个论坛上,开发者们可以分享自己的项目经验、技术问......
  • 免费、开源、详细完整的unity游戏、游戏源码、教程:人工智能分析和处理对话的美好三维
    这份unity游戏、游戏源码、教程:完全免费,完全开源,完整详细,通俗易懂,适合初学者入门,定期更新。我不想和任何人说话,任何人不要跟我说话,不要打扰我,我要安安静静的写。我解释一下原因:俗话说“道不同,不相与谋。”不是一个情感世界的人,就不该相互说话,两个不同情感世界的人,心灵是无法彼此......
  • 安卓驱动开发中的设备树
    安卓驱动开发中的设备树在安卓驱动开发领域,设备树(DeviceTree)是一个至关重要的概念和技术。设备树是一种描述硬件配置的数据结构,它为操作系统提供了一种标准化的方法来描述和管理硬件资源。本文将深入探讨设备树在安卓驱动开发中的重要性、工作原理以及实际应用。一、设备树......
  • 目录PyCharm Community Edition、python3.11、pythonProject之间的关系
    PyCharmCommunityEdition类型:PyCharmCommunityEdition是由JetBrains公司提供的免费、开源的集成开发环境(IDE)。用途:它专门为Python开发设计,提供了代码编辑、运行、调试、测试等功能。特点:包括智能代码补全、代码分析、图形化界面设计、版本控制集成等高级功能。Pyt......
  • mac强大的安卓文件传输工具:Android File Transfer for mac 版
    AndroidFileTransfer是一款专为Mac用户设计的文件传输工具,旨在简化Mac与Android设备之间的文件传输与管理过程。以下是该软件的详细介绍:一、基本功能文件传输:AndroidFileTransfer支持通过USB连接,快速、稳定地在Mac与Android设备之间传输文件。无论是照片、音乐、视......
  • Unity之OpenXR如何使用Netcode实现一个多人VR游戏
    前言NetcodeforGameObjects是专为Unity构建的高级网络库,可用于抽象网络逻辑。您可以通过网络会话同时向许多玩家发送GameObjects和世界数据。借助NetcodeforGameObjects,您可以专注于构建游戏,而无需考虑低级协议和网络框架。Netcode框架的核心特性包括:易于使用:......
  • 【Unity精品模型资源】Anime Girls Pack: 为你的Unity项目注入动漫活力
    ......
  • Unity游戏开发——Unity脚本组件:游戏开发的灵魂
    Unity游戏开发“好读书,不求甚解;每有会意,便欣然忘食。”本文目录:Unity游戏开发Unity游戏开发Unity脚本组件:游戏开发的灵魂前言1.StandardAssets导入报错解决办法2.什么是Unity脚本组件?3.创建和使用脚本组件3.1创建脚本3.2附加脚本到游戏对象4.理解Unity脚本......