前言:
为了完成这个作业,尤其是关于unity VR小项目导出apk这一步的操作,遇到一系列的问题,特此记录一下,也希望能给到各位一些帮助。
问题1:脚本引用 UnityEditor,导致无法打包。
Error building Player because scripts had compiler errors
Build completed with a result of 'Failed'
UnityEditor.BuildPlayerWindow:BuildPlayerAndRun()
UnityEditor.BuildPlayerWindow+BuildMethodException: 2 errors
at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (BuildPlayerOptions options) [0x0020e] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:181
at UnityEditor.BuildPlayerWindow.CallBuildMethods (Boolean askForBuildLocation, BuildOptions defaultBuildOptions) [0x00065] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:88
UnityEditor.BuildPlayerWindow:BuildPlayerAndRun()
问题1解决方案:
在project文件夹部分新增一个Editor文件夹;将其他文件夹放入子目录
问题2:unity版本和gradle的配置问题
Manifest merger failed : uses-sdk:minSdkVersion 15 cannot be smaller than version 19 declared in lib
Manifest merger failed : uses-sdk:minSdkVersion 16 cannot be smaller than version 19 declared in library
问题2解决方案:
打开bulid setting
点player setting,Minimum API Level更改为更高版本
问题3:too many errors
CommandInvokationFailure: Gradle build failed.
E:\unity_game\2018.4.36f1\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\OpenJDK\Windows\bin\java.exe -classpath "E:\gradle-5.1.1\lib\gradle-launcher-5.1.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleRelease"
Build completed with a result of 'Failed'
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) (at C:/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:179)
UnityEditor.BuildPlayerWindow+BuildMethodException: 2 errors
at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x00242] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:194
at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x0007f] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:97
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) (at C:/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:179)
怀疑是gradle的版本问题,目前解决不了,提供几个思路:
在外部设置里勾选自动下载;(我无效)
最后换了一个版本:2019.4.33;
其中遇到一个新问题:unity打包apk部署签名keystore密钥库根据下面博主大大的方案成功解决。
后记:
关于unity 安卓导出的参考:Unity3D 发布APK安卓环境配置步骤、安装、教程(含Java/Android)(超全流程)_unity5.6 安卓环境-CSDN博客https://blog.csdn.net/ChinarCSDN/article/details/79513403