Unity打包APK报错 using a newer Android Gradle plugin to use compileSdk = 35

devtools/2025/2/28 1:38:01/

Unity打包APK报错 using a newer Android Gradle plugin to use compileSdk = 35

在这里插入图片描述
三个报错信息如下
第一个

WARNING:We recommend using a newer Android Gradle plugin to use compileSdk = 35This Android Gradle plugin (7.1.2) was tested up to compileSdk = 32This warning can be suppressed by addingandroid.suppressUnsupportedCompileSdk=35
to this project's gradle.propertiesThe build will continue, but you are strongly encouraged to update your project to
use a newer Android Gradle Plugin that has been tested with compileSdk = 35

第二个

Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
ERROR:D:\A_Unity\2022.3.26f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-35\android.jar: D8: java.lang.NullPointerExceptionFAILURE: Build failed with an exception.* What went wrong:
Execution failed for task ':launcher:desugarReleaseFileDependencies'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.DexFileDependenciesTask$DexFileDependenciesWorkerAction> Error while dexing.* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.* Get more help at https://help.gradle.orgBUILD FAILED in 1s

第三个

stderr[
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
ERROR:D:\A_Unity\2022.3.26f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-35\android.jar: D8: java.lang.NullPointerExceptionFAILURE: Build failed with an exception.* What went wrong:
Execution failed for task ':launcher:desugarReleaseFileDependencies'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.DexFileDependenciesTask$DexFileDependenciesWorkerAction> Error while dexing.* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.* Get more help at https://help.gradle.orgBUILD FAILED in 1s
]
stdout[
WARNING:We recommend using a newer Android Gradle plugin to use compileSdk = 35This Android Gradle plugin (7.1.2) was tested up to compileSdk = 32This warning can be suppressed by addingandroid.suppressUnsupportedCompileSdk=35
to this project's gradle.properties

错误原因:这个问题报错的原因是,我使用的 Unity2022.3.26,与之对应的 Android Gradle plugin 也就是 Gradle 版本是 7.1.2,这是Unity 官方给的对应关系
打包 APK 时配置Player Settings-> Android -> OthersSettings -> Identification -> Target API Level -> API Level 35

经测试 API Level 设置为 34/33/32 等低版本都是可以正常打包的

解决方案一
Unity 官方回答:这个问题影响Unity版本2021.3和2022.3 LTS。
目前,由于谷歌构建工具中AAPT2和SDK 35之间的兼容性错误,无法在Unity 2021.3和2022.3上构建SDK 35。我们已经向b谷歌报告了这个问题
我们正在Unity内提供修复,但与此同时,请遵循以下解决方案:
在 Unity 项目内 打开 gradleTemplate.properties ,这个文件 生成方式 Player Settings → Publish Settings → Check “Custom Gradle Properties Template” 在 Plugins/Android 文件夹下生成 gradleTemplate.properties 用文本编辑器打开,然后在最后添加一行 android.aapt2FromMavenOverride=<PATH_TO_YOUR_SDK>/build-tools/35.0.0/aapt2.exe
完整路径以Unity2022.3.26f1 为例安装路径 android.aapt2FromMavenOverride=2022.3.26f1/Editor\Data/PlaybackEngines/AndroidPlayer/SDK/build-tools/35.0.0/aapt2.exe
但是这个解决方案,我自己测试是无效的

解决方案二
错误原因中已经说了 API Level 设置低于 35 的都是可以正常打包的,那么如果不是必须要求设置 为 35 那么就降低版本,再打包

解决方案三
升级 Unity 版本,经过测试 Unity6 打包 APK 设置 API Level 35 打包正常


http://www.ppmy.cn/devtools/163218.html

相关文章

ffmpeg常用方法(一)

FFmpeg是一个非常强大的开源项目&#xff0c;提供了一套可以用来录制、转换数字音频、视频&#xff0c;并能将其转换成不同格式的工具和库。它是命令行工具&#xff0c;意味着它没有图形用户界面&#xff0c;但它能够被嵌入到其他应用程序中。它支持多种操作系统&#xff0c;包…

归并排序:分而治之的排序之道

在所有的排序算法中&#xff0c;归并排序&#xff08;Merge Sort&#xff09;是一种非常经典且高效的排序算法。它采用了分治法&#xff08;Divide and Conquer&#xff09;策略&#xff0c;凭借着优秀的时间复杂度和稳定性&#xff0c;广泛应用于实际的排序任务中。 今天&…

Maven 的高级调试技巧与常见问题

在使用 Maven 进行构建时&#xff0c;尤其是大型项目或复杂依赖管理时&#xff0c;构建过程中可能会出现各种问题。通过有效的调试技巧和工具&#xff0c;可以更高效地定位和解决这些问题。本文将介绍 Maven 构建过程中常见的错误 以及 调试方法&#xff0c;帮助开发者快速解决…

SEO炼金术(4)| Next.js SEO 全攻略

在上一篇文章 SEO炼金术&#xff08;3&#xff09;| 深入解析 SEO 关键要素 中&#xff0c;我们深入解析了 SEO 关键要素&#xff0c;包括 meta 标签、robots.txt、canonical、sitemap.xml 和 hreflang&#xff0c;并探讨了它们在搜索引擎优化&#xff08;SEO&#xff09;中的作…

DOM 事件 HTML 标签属性速查手册

以下是一份 DOM 事件 & HTML 标签属性速查手册&#xff0c;涵盖常用场景和示例&#xff0c;助你快速查阅和使用&#xff1a; 一、DOM 事件速查表 1. 鼠标事件 事件名触发时机适用元素示例代码click元素被点击任意可见元素button.addEventListener(click, () > { ... …

gradle学习-mac安装

1、首先保证本地安装了jdk17&#xff0c;配置好环境变量 export JAVA_HOME/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home export PATH$JAVA_HOME/bin:$PATH2、安装 Gradle 使用 Homebrew 安装 Gradle&#xff1a; brew install gradle3、验证安装 安装完成后…

浅谈HTTP及HTTPS协议

1.什么是HTTP&#xff1f; HTTP全称是超文本传输协议&#xff0c;是一种基于TCP协议的应用非常广泛的应用层协议。 1.1常见应用场景 一.浏览器与服务器之间的交互。 二.手机和服务器之间通信。 三。多个服务器之间的通信。 2.HTTP请求详解 2.1请求报文格式 我们首先看一下…

Go语言--语法基础1--下载安装

2、下载安装 1、下载源码包&#xff1a; go1.18.4.linux-amd64.tar.gz。 官方地址&#xff1a;https://golang.google.cn/dl/ 云盘地址&#xff1a;链接&#xff1a; https://pan.baidu.com/s/1N2jrRHaPibvmmNFep3VYag 提 取码&#xff1a; zkc3 2、将下载的源码包解压…