【问题记录】Unity编译ARCore模板项目问题

这篇具有很好参考价值的文章主要介绍了【问题记录】Unity编译ARCore模板项目问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Unity版本:2021.3.8f1c1

创建AR项目并下载使用默认模板,编译并发布到Android实机。

1、第一个问题:

Error:Could not read cache value from'C:\Users\Username\.gradle\daemon\6.1.1\registry.bin'.

查询参考:

(5条消息) 安卓:Could not read cache value from'C:\Users\Username\.gradle\daemon\1.12\registry.bin'_Royel transformed的博客-CSDN博客

找到:

android - Gradle error after importing projects from eclipse - Stack Overflow

大概是gradle缓存方面的问题,说将.gradle整个,或者6.1.1目录清空即可,有个人说只需要删掉registry.bin.lock

删除registry.bin.lock,没有解决问题

(其他文件是占用状态,按其中说明需要关闭Android Studio再删除,此处Unity同样是退出项目才能删除)

再次查到:

build - Starting a Gradle Daemon, 1 busy and 6 stopped Daemons could not be reused, use --status for details - Stack Overflow

其中Variag说“Windows 10 here. For me only solution was to remove everything inside ../.gradle/caches/ ”

于是干脆关闭Unity项目,将.gradle\caches\和.gradle\daemon\下面的两个6.1.1目录全部删除。

问题解决。

2、第二个问题,Build And Run后出现:

Execution failed for task ':launcher:lintVitalRelease'.

> Lint infrastructure error
   Caused by: java.lang.NoClassDefFoundError: com/android/tools/lint/LintCliClient

查询到:

Android build returns "java.lang.NoClassDefFoundError: com/android/tools/lint/LintCliClient" - Stack Overflow

总体看上去似乎是lint工具的版本和gradle配套问题。

先确认了下gradle插件和gradle版本的匹配没问题。

Unity的baseProjectTemplate.gradle中有classpath 'com.android.tools.build:gradle:4.0.1',对应gradle的6.1.1没有问题,可参考:(5条消息) [AS/Android Studio] Gradle Plugin Version 和 Gradle Version 的版本对应关系_米歪(MiWi)的博客-CSDN博客_gradle version对应版本

于是干脆按那个Calvin所说,修改gradle配置。

Unity的Edit->Project Settings->Publishing Settings中,把Build里需要用的Custom项目都勾上,配置文件被复制到Assets->Android目录下。

在baseProjectTemplate.gradle的classpath 'com.android.tools.build:gradle:4.0.1'上面加了一行classpath 'com.android.tools.lint:lint:26.3.2'

问题解决。

3、第三个问题,Build And Run又出现:

Execution failed for task ':launcher:lintVitalRelease'.
> Lint infrastructure error
   Caused by: java.lang.VerifyError: Inconsistent stackmap frames at branch target 90

查询发现此问题不少,区别只是最后的target数字不尽相同。

但没有找到90的。

看到一篇(5条消息) java.lang.VerifyError: Inconsistent stackmap frames at branch target ? 解决_QZC78的博客-CSDN博客

说解决方法是在jvm中配置 -XX:-UseSplitVerifier

还不太熟悉Unity相关配置,懒得找暂时pass;

又看到一篇(5条消息) Apk打包报错Execution failed for task ‘:app:lintVitalRelease问题两种解决方法_hl763785813的博客-CSDN博客

虽然问题不太一样但有参考价值,说了两种方法:

第二个方法是到log里找到报错的文件、行数,去修改,他的问题是AndroidManifest.xml错误造成,而且是Android Studio,和此处无关;

参考第一个方法,在mainTemplate.gradle的lintOptions中,加入checkReleaseBuilds false(abortOnError false原本已经有了),问题没有解决。

又找到

java - Akka Actors fails, VerifyError: Inconsistent stackmap frames at branch target - Stack Overflow

dependency injection - Java 7 - Inconsistent stackmap frames - Need help understanding why solution works - Stack Overflow

总体来说都是JDK6和7遇到问题,似乎是JDK7的编译字节码要包含StackMapTable,而且根据Paul Draper所说JDK8已经不支持UseSplitVerifier选项了,本想试试这个选项也就算了

琢磨更高版本会不会也能解决问题,于是尝试在Edit->Preferences的Android中设置Unity的JDK为电脑装的11,但Unity坚决不允许。

又设置为电脑上安装的一套JDK8,Build And Run报错:

A problem occurred evaluating project ':launcher'.
> Could not initialize class com.android.build.gradle.internal.VariantManager

换回Unity安装的JDK8,又头疼了半天,忽然发现好像有点傻,既然是launcher出问题,应该改launcherTemplate.gradle吧,于是在launcherTemplate.gradle的lintOptions中,加入checkReleaseBuilds false(abortOnError false原本已经有了)。

问题解决,apk生成成功。

并且此时将baseProjectTemplate.gradle中加的classpath 'com.android.tools.lint:lint:26.3.2'去掉也是没问题的。

4、安装后无法使用

启动后有时候一直显示loading...然后提示无法启动AR,需要连接internet(实际已连接,并且是科学上网)

有时候loading可能是成功了,界面会闪一下,并重复闪一次。然后如果只选了mono和ARMv7,一直黑屏没有反应;如果选了IL2CP并同时选择ARMv7和ARM64,会直接崩溃。

之前也在谷歌下载了Unity的AR样例Pocket Garden,生成apk倒是没遇到这么些问题,还按提示下载安装了ARCore插件和Google Play Services,但也无法使用。

也不知道是不是因为被忽略过去的lint问题引起,虽然很想彻底解决问题,奈何暂时只学会了关开关。后续继续研究。

此外,根据谷歌支持ARCore的手机清单,本次使用的实机并不在其中,也可能是不支持?

果然不试试都不知道自己确实不行。doge

----------

2023/10/22,好久没登录,一上来发现什么时候这把文章自动改成VIP可见了??

这系统挣钱都比我积极啊,让我在改回全部可见时,竟生出愧疚之心。doge文章来源地址https://www.toymoban.com/news/detail-407837.html

到了这里,关于【问题记录】Unity编译ARCore模板项目问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • telegraf 编译安装以及问题记录

    代码下载: 直接编译: 编译报错问题列表 问题1: 解决方法:直接替换go.sum里面的h1 问题2 解决方法:设置代理 问题3 执行命令读取配置,发生错误 问题定位:telegraf.conf配置文件错误,建议重新生成新的配置文件;

    2024年02月11日
    浏览(29)
  • android gradle编译问题记录

    有时候即便配置了国内镜像下载gradle也是慢的一批,可以手动下载gradle文件配置到项目中,比如我下载了一个新项目,它的gradle版本是gradle-4.1-all,进入项目时它会开始下载gradle,此时gradle目录中会创建gradle-4.1-all目录,我的完整路径是 里面有一个像乱码一样的文件夹,下载的

    2024年01月16日
    浏览(39)
  • C++项目开发编译踩坑记录

    问题现象:使用git clone命令从库上下载下来的代码,使用VS 2022编译,全文报语法错误,但是代码他其他同事电脑上都能正常编译通过。 期间一度以为是本人电脑上的C++编译环境配置有问题,尝试过卸载掉VS软件重新安装、新增安装VS组件等的方式,最后都无法解决问题,故排

    2024年02月22日
    浏览(28)
  • Unity无法创建新项目,UnityHub无法加载模板

    Unity版本 Unity Hub版本:3.1.1-c1 系统版本:Win 10专业版 1909 内存:32G 这时候输入项目名称,选择位置之后,创建项目,会提示检查证书,但是去更新证书,再次然后打开刚刚创建的项目是提示项目打开失败,查看Log,Log最后一条是显示是的是项目不存在,去资源管理器中找到刚

    2024年02月11日
    浏览(43)
  • 虚拟机-Linux开发板交叉编译问题记录

    遇到一堆很久之前见过的问题,重新解决一次。 1、虚拟机没法上网 发现虚拟机浏览器上不了网,运行ifconfig查看,发现要么没有IP地址,要么只有IPv6的地址。最后发现是昨天VMware卡死了,启动任务管理器把相关任务全停了,dhcp服务没启动。于是点进计算机-管理-服务,重新

    2024年04月12日
    浏览(32)
  • OpenHarmony 4.0 源码编译hb 问题排查记录

    OS:Ubuntu 22.04 x86_64 下载好Openharmony 4.0Beta2 的源码 从错信息看是找到某个目录,hb 是python写的,所以打算看看源码是找个目录出错了,根据出错信息直接看源码文件。 查看python 代码可知报错原因是没找到 build/lite/hb_internal ,在OpenHamony 源码下确实没有发现有 build/lite/hb_internal

    2024年02月09日
    浏览(36)
  • Openharmony鸿蒙内核编译及qemu运行过程问题记录

    该篇笔记记录鸿蒙内核编译流程,及qemu运行记录。主要根据 https://gitee.com/openharmony/device_qemu 执行。由于整个过程不是很顺利,故做此笔记。(ps:因为笔者的ubuntu环境不纯净,坑较多。纯净的环境照着文档做应该问题不大) 采用的策略是,【docker编译】+【ubuntu执行qemu】 纯

    2024年02月11日
    浏览(37)
  • Unity项目较大刷新及编译卡顿解决方法

    开发中当Unity项目比较大的时候,每次Unity窗口获取焦点时刷新需要3-5秒,非常麻烦!常见有几种方法来缓解这个问题:      关闭unity自动刷新Edit-Preferences-General-Auto Refresh,改为自己手动Ctrl+R刷新;                      缺点:每次都需要手动刷新比较麻烦    修改unity的

    2024年02月13日
    浏览(35)
  • 【网络通信 -- WebRTC】项目实战记录 -- linux 环境下 libmediasoup 编译与测试

    【1】编译配置 libwebrtc 【1.1】下载并配置 depot_tools 【1.2】获取 WebRTC 源码 【1.3】编译 WebRTC 【1.4】获取 WebRTC 相关头文件与库 【2】编译配置 libmediasoupclient 【3】编译运行 mediasoup-broadcaster-demo mediasoup-broadcaster-demo 使用 libmediasoupclient 库实现向 mediasoup 服务器发布一个预设的视

    2024年02月10日
    浏览(30)
  • Unity知识记录--项目升级URP

    URP是指Unity的通用渲染管线,此处主要针对原有项目进行升级使用,但并不是所有的内容都可以直接通过升级完成,直接使用的Unity默认的shader通常可以完成直接升级,自己编写的shader通常需要重做。 首先我们先要安装这个Package,打开Package Manager。   找到我们的URP这个packa

    2024年02月08日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包