随笔:如何解决Unity 2022.3 导出Android Apk卡在calling IPostGenerateGradleAndroidProject callbacks

解决AndroidGradle模板下载速度慢:切换至国内镜像
本文讲述了Android开发中遇到的Gradle模板下载缓慢问题,提供了解决方案,包括设置国内镜像仓库、检查最低API版本和包名长度。

一:问题原因

Android编译依赖gradle中的模板,如果本机没有,则会上网路下载,但是服务器在国外,国内下载很慢,就卡在此。

二:如何解决

方法一:使用国内镜像

只需要设置为使用国内镜像下载就行了。

具体步骤:

①找到mainTemplate.gradle文件,在

你安装的Editor目录\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\GradleTemplates\mainTemplate.gradle

②然后在起始行输入

buildscript {
	repositories {
		maven{url 'http://maven.aliyun.com/nexus/content/repositories/central/'}
	}
}

allprojects {
	repositories {
		maven{url 'http://maven.aliyun.com/nexus/content/repositories/central/'}
	}
}

保存,即可。

方法二:使用下载后的gradle

如果你使用的是unity自带的gradle,可以考虑使用我下载后的gradle资产库,但是也可能有一些问题:

  1. 有些库没有下载
  2. 我是使用8.7版本的gradle下载的,unity默认使用的版本是7.5.1,如果你需要8.7的版本的话,下载后在Edit->Perferences->External Tools取消勾选Gradle Installed With Unity(recommanded),把路径变为下载的gradle-8.7路径

下载的gradle资产库默认放在C:\Users\你的用户名,文件夹名默认是.gradle

gradle资产库下载连接

通过网盘分享的文件:.gradle.zip
链接: https://pan.baidu.com/s/1_DJzM-_4GCS-VX0Y9NPicg 提取码: v8v9

我用夸克网盘分享了「.gradle.zip」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。
链接:https://pan.quark.cn/s/9b92f46a835a

gradle-8.7下载连接

通过网盘分享的文件:gradle-8.7.zip
链接: https://pan.baidu.com/s/1NGoNekPq0wjGWmNoQIczEQ 提取码: 4g2p

我用夸克网盘分享了「gradle-8.7.zip」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。
链接:https://pan.quark.cn/s/93692b37360b

三、其他问题

①如果还不能解决,就在Build Settings里面设置为开发模式导出。

②可能存在导出的最低版本不存在:如图(在Project Settings下的Player Settings的Other Settings)

其中的Minimum API Level一定是要安装的,具体的可以去你安装的Editor目录\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms下查看安装的API.。

③还有可能是上图的PackageName过长,导出失败,可以就改成com.公司名.产品名。

四、结语

我目前遇到的问题就这些了,上述有问题的欢迎斧正。

Unity在打包APK在`calling IPostGenerateGradleAndroidProject callbacks`的问题通常与Gradle构建过程中的配置或依赖项下载有关。以下是几种有效的解决方法: ### 1. 替换Gradle版本并配置本地路径 Unity默认使用自带的Gradle版本,但有时该版本可能无法正常下载依赖项或与项目配置不兼容。可以通过下载并使用本地Gradle版本来解决此问题: - 下载指定版本的Gradle(例如8.7),可以从[Gradle官网](https://gradle.org/releases/)获取。 - 在Unity中取消使用Unity自带的Gradle:`Edit > Preferences > External Tools`,取消勾选`Gradle Installed With Unity (recommended)`。 - 将路径设置为下载的Gradle版本的解压目录(例如`gradle-8.7`)。 ### 2. 配置自定义Gradle模板 通过自定义Gradle模板文件(如`settings.gradle`),可以优化Gradle的依赖项管理,减少网络延迟或依赖项下载失败导致的问题: - 在Unity中进入`Edit > Project Settings > Player > Android > Publishing Settings`。 - 勾选以下模板选项: - `Custom Gradle Settings Template` - `Custom Gradle Properties Template` - `Custom Base Gradle Template` - `Custom Main Gradle Template` - Unity会在`Assets/Plugins/Android`目录下生成`settingsTemplate.gradle`文件。 - 编辑`settingsTemplate.gradle`文件,将以下内容替换原有的配置: ```groovy pluginManagement { repositories { maven { url 'https://maven.aliyun.com/repository/public' } maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } gradlePluginPortal() google() mavenCentral() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { maven { url 'https://maven.aliyun.com/repository/public' } maven { url 'https://maven.aliyun.com/repository/google' } google() mavenCentral() } } ``` 保存文件后重新尝试打包。 ### 3. 清除Gradle缓存 Gradle的缓存文件可能损坏或过期,清除缓存可以解决依赖项下载问题: - 删除`C:\Users\你的用户名\.gradle`目录。 - 重新启动Unity并尝试打包。 ### 4. 配置本地Android SDK和Gradle环境 避免使用Unity自带的外部工具,改用本地配置的Android SDK和Gradle环境: - 安装并配置本地Android SDK和Gradle。 - 在Unity中取消勾选`Android SDK Installed With Unity`和`Gradle Installed With Unity`。 - 设置路径为本地安装的Android SDK和Gradle目录。 ### 5. 使用国内镜像加速依赖项下载 由于网络问题,Gradle可能无法从官方仓库下载依赖项。可以配置国内镜像来加速下载: - 修改`build.gradle`文件中的仓库地址为国内镜像源,例如阿里云的Maven仓库: ```groovy repositories { maven { url 'https://maven.aliyun.com/repository/public' } maven { url 'https://maven.aliyun.com/repository/google' } google() mavenCentral() } ``` ### 6. 检查网络连接 确保网络连接正常,并且可以访问Gradle和Maven仓库。如果使用代理,需要正确配置代理设置。 ### 7. 更新Unity版本 如果问题仍然存在,可以尝试更新到最新的Unity版本,因为新版本可能修复了与Gradle集成相关的已知问题。 ---
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值