Muh*_*lah 3 unity-game-engine android-gradle-plugin
您好,我使用的是 unity 2018.4.33f1。我将 gradle 版本从 3.4.0 升级到 3.6.0,如https://developers.google.com/ar/develop/unity/android-11-build#unity_20193_and_20194提到的。当我构建 apk 时,它工作得很好。对于 google Playstore,我需要 .aab 文件,对于 .aab 文件,它显示错误我不想恢复回 gradle 版本
FileNotFoundException:Temp\gradleOut\build\outputs\bundle\release\gradleOut.aab不存在System.IO.File.Move(System.String sourceFileName,System.String destFileName)(位于:0)UnityEditor.Android.PostProcessor.Tasks .BuildGradleProject.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext 上下文) (位于 <267278aa48b840c7a0e7281223ea050e>:0) UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext 上下文) (位于 <267278aa48b840c7a0e) 7281223ea050e>:0) UnityEditor .Android.PostProcessAndroidPlayer.PostProcess(UnityEditor.BuildTarget目标,System.String stagingAreaData,System.String stagingArea,System.String playerPackage,System.String installPath,System.String companyName,System.String productName,UnityEditor.BuildOptions选项,UnityEditor.RuntimeClassRegistry usedClassRegistry、UnityEditor.Build.Reporting.BuildReport 报告)(位于 <267278aa48b840c7a0e7281223ea050e>:0) UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args、UnityEditor.BuildProperties& outProperties)(位于 <267278aa48b840c) 7a0e7281223ea050e>:0) UnityEditor.PostprocessBuildPlayer .Postprocess(UnityEditor.BuildTargetGroup targetGroup,UnityEditor.BuildTarget目标,System.String installPath,System.String companyName,System.String ProductName,System.Int32宽度,System.Int32高度,UnityEditor.BuildOptions选项,UnityEditor.RuntimeClassRegistryusedClassRegistry,UnityEditor。 Build.Reporting.BuildReport 报告)(位于 C:/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:288) UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)(位于 C:/buildslave/unity/build /模块/IMGUI/GUIUtility.cs:1
小智 5
我这里也有同样的问题。
我检查了 gradle 3.4.3 允许使用 <queries> 元素进行构建,但它在 armv7 设备中有很多 ANR,所以现在我正在尝试 gradle 3.6.x,正如该文档所述(我使用 3.6.4 而不是 3.6。 0,因为可能它有一些修复,但这并不重要),我遇到了这个新问题。
解决方案位于 Lotan 提供的链接末尾:https://forum.unity.com/threads/bundle-release-launcher-aab-does-not-exist-2019-4-16f1.1025302/#post- 6780950,但是没有代码,所以我在这里扩展它。
Unity 生成一个“gradleOut-release.aab”,但新的 gradle 版本会查找“gradleOut.aab”,因此您需要重命名它:)。
您只需将 launcherTemplate 中的 defaultConfig 更改为:
defaultConfig {
minSdkVersion **MINSDKVERSION**
targetSdkVersion **TARGETSDKVERSION**
applicationId '**APPLICATIONID**'
ndk {
abiFilters **ABIFILTERS**
}
versionCode **VERSIONCODE**
versionName '**VERSIONNAME**'
}
Run Code Online (Sandbox Code Playgroud)
到
defaultConfig {
minSdkVersion **MINSDKVERSION**
targetSdkVersion **TARGETSDKVERSION**
applicationId '**APPLICATIONID**'
ndk {
abiFilters **ABIFILTERS**
}
versionCode **VERSIONCODE**
versionName '**VERSIONNAME**'
// MLR: rename aab for gradle 3.6.x
tasks.whenTaskAdded { task ->
if (task.name.startsWith("bundle")) {
def renameTaskName = "rename${task.name.capitalize()}Aab"
def flavor = task.name.substring("bundle".length()).uncapitalize()
tasks.create(renameTaskName, Copy) {
def path = "${buildDir}/outputs/bundle/${flavor}/"
from(path)
include "gradleOut-release.aab"
destinationDir file("${buildDir}/outputs/bundle/${flavor}/")
rename "gradleOut-release.aab", "gradleOut.aab"
}
task.finalizedBy(renameTaskName)
}
}
// MLR: End of rename
}
Run Code Online (Sandbox Code Playgroud)
我不确定 3.6.x 是否会修复 ANR(也许是 Facebook SDK 9.0.0 的问题)。
| 归档时间: |
|
| 查看次数: |
6316 次 |
| 最近记录: |