目录
2、Unity3D 发布APK安卓环境配置步骤、安装、教程(含Java/Android)(超全流程)
3、Java/JDK安装教程手册(正规图文全流程)、运行、环境配置
1、当我按照Unity5.6.3配置android时候,报错,好像jdk版本低了
2、在Unity2017.4.35f1使用Unity5.6.3f1的安卓配置一直会报错
一、目的:
1、因为之前使用的都是5.6.3f1版本,现在因为使用OpencvForUnity所以需要使用到Unity2017版本;目前使用的是Unity2017.4.35f1(是通过UnityHub下载的,并且选择了安卓模块),使用5.6.3f1的发布安卓方法在Unity2017.4.35f1发布安卓无法成功
二、参考:
1、Unity 2017版本安卓打包配置
https://blog.csdn.net/m0_37921148/article/details/79593238
①总结:待处理
2、Unity3D 发布APK安卓环境配置步骤、安装、教程(含Java/Android)(超全流程)
https://blog.csdn.net/ChinarCSDN/article/details/79513403
①总结:good:很好,按照这样安装了
3、Java/JDK安装教程手册(正规图文全流程)、运行、环境配置
https://blog.csdn.net/chinarcsdn/article/details/79561049
①总结:good:很好,按照这样安装了jdk就可以了
4、Unity 2017Android环境配置(最新鲜的)
https://www.pianshen.com/article/2633432216/
总结:待检测
三、操作1:失败(参考操作2)
1、参考
基本按照unity3d配置Android环境,打包发布Apk流程详解https://www.jianshu.com/p/8b94c5e12dfe 来进行打包的,尝试Unity5.6.3f1进行安卓打包,发现是正常的,但是到了Unity2017.4.35c1(官网现在下载只能下载到这个版本了,除非使用UnityHUD能下载到Unity2017.4.35f1)版本时候就不正常了
2、注意:
一定要大于jdk1.7版本,目前我使用的是jdk1.8.0_181
3、Unity设置:
三、操作2:成功
1、参考
基本按照unity3d配置Android环境,打包发布Apk流程详解https://www.jianshu.com/p/8b94c5e12dfe 来进行打包的,尝试Unity5.6.3f1进行安卓打包,发现是正常的,但是到了Unity2017.4.35c1(官网现在下载只能下载到这个版本了,除非使用UnityHUD能下载到Unity2017.4.35f1)版本时候就不正常了
1、Unity设置:
Win32Exception: ApplicationName='C:\android-sdk-windows\android-sdk-windows\build-tools\android-6.0\apksigner.bat', CommandLine='sign --ks "C:\Users\AND\.android\debug.keystore" --ks-pass stdin --ks-key-alias "androiddebugkey" --key-pass stdin "E:\Test\AndriodBuildTest20170435c1\Temp/StagingArea/Package.apk"', CurrentDirectory='Temp/StagingArea'
System.Diagnostics.Process.Start_noshell (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process)
System.Diagnostics.Process.Start_common (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process)
System.Diagnostics.Process.Start ()
(wrapper remoting-invoke-with-check) System.Diagnostics.Process:Start ()
UnityEditor.Utils.Program.Start (System.EventHandler exitCallback) (at D:/unity/Editor/Mono/Utils/Program.cs:44)
UnityEditor.Utils.Program.Start () (at D:/unity/Editor/Mono/Utils/Program.cs:28)
UnityEditor.Android.Command.RunWithStdin (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg, System.String[] input)
UnityEditor.Android.PostProcessor.Tasks.TasksCommon.Exec (System.String command, System.String args, System.String workingdir, System.String errorMsg, System.String[] stdin)
UnityEditor.Android.PostProcessor.Tasks.BuildAPK.SignPackage (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessor.Tasks.BuildAPK.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.BuildReporting.BuildReport report)
UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (BuildPostProcessArgs args)
UnityEditor.PostprocessBuildPlayer.Postprocess (BuildTargetGroup targetGroup, BuildTarget target, System.String installPath, System.String companyName, System.String productName, Int32 width, Int32 height, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.BuildReporting.BuildReport report) (at D:/unity/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:272)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
1、上网查询好像是sdk里面缺少了什么文件
参考:
https://blog.csdn.net/chenggong2dm/article/details/39640449
发现我的包里面没有apksigner.bat文件,所以要去下载
1、管理员打开SDK Manager.exe
参考:android studio的使用sdk manager
更新了一下SDKPlatform发现,打包还是和之前一样的报错,没有apksigner.bat
1、然后我就全部更新Android9
安装完毕,关闭Unity、SDK Manager.exe,再次打开Unity2017.4.35c1,点击UpdateAndroidSDK,打包,然后发现成功了,总之就是安卓的版本太低了导致
当点击了UpdateAndroidSDK按钮之后,就出现了28.0.3文件夹了
后来发现新版本的android-sdk-windows里有apksigner.bat
1、注意:
参考:unity3d导出Android Error, sdk build tools version https://blog.csdn.net/qq_14842651/article/details/80659666
我将Tools里面的全部都安装了,然后Unity发布时候不会提示版本低了的提示框。并且对应的路径下面出现了这些文件
三、操作3:失败(参考操作2)
1、设备:
安卓:华为M6
2、过程
基本按照unity3d配置Android环境,打包发布Apk流程详解https://www.jianshu.com/p/8b94c5e12dfe 来进行打包的,尝试Unity5.6.3f1进行安卓打包,发现是正常的
3、下面是错误信息
三、操作3:
1、参考
基本按照unity3d配置Android环境,打包发布Apk流程详解https://www.jianshu.com/p/8b94c5e12dfe 来进行打包的,尝试Unity5.6.3f1进行安卓打包,发现是正常的,但是到了Unity2017.4.35c1(官网现在下载只能下载到这个版本了,除非使用UnityHUD能下载到Unity2017.4.35f1)版本时候就不正常了
2、报错
ArgumentException: Illegal characters in path.
System.IO.Path.Combine (System.String path1, System.String path2) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.IO/Path.cs:124)
UnityEditor.Android.AndroidComponentVersion.GetComponentVersion (System.String directory)
UnityEditor.Android.AndroidSDKTools.BuildToolsVersion (UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK+SDKBuildToolsDetector.GetVersion (UnityEditor.Android.AndroidSDKTools sdkTools)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK+SDKComponentDetector.Detect (UnityEditor.Android.AndroidSDKTools sdkTools, System.Version minVersion, UnityEditor.Android.PostProcessor.ProgressHandler onProgress)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK.EnsureSDKComponentVersion (System.Version minVersion, UnityEditor.Android.PostProcessor.Tasks.SDKComponentDetector detector)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessAndroidPlayer.PrepareForBuild (BuildOptions options, BuildTarget target)
UnityEditor.Android.AndroidBuildPostprocessor.PrepareForBuild (BuildOptions options, BuildTarget target)
UnityEditor.PostprocessBuildPlayer.PrepareForBuild (BuildOptions options, BuildTargetGroup targetGroup, BuildTarget target) (at D:/unity/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:87)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
Error building Player: ArgumentException: Illegal characters in path.
Build completed with a result of 'Failed'
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
UnityEditor.BuildPlayerWindow+BuildMethodException: 2 errors
at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (BuildPlayerOptions options) [0x0020e] in D:\unity\Editor\Mono\BuildPlayerWindowBuildMethods.cs:181
at UnityEditor.BuildPlayerWindow.CallBuildMethods (Boolean askForBuildLocation, BuildOptions defaultBuildOptions) [0x00065] in D:\unity\Editor\Mono\BuildPlayerWindowBuildMethods.cs:88
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
3、测试将android-sdk-windows升级
发现SDK Manager.exe闪退,然后尝试将jdk重新安装
参考:SDK Manager.exe闪退解决方法https://blog.csdn.net/qq_41664352/article/details/93742811
- 总结:没有用
四、问题:
1、发现各种打包不行,然后卸载Unity重新安装
1、报错
1、当我按照Unity5.6.3配置android时候,报错,好像jdk版本低了
答:
①jdk-8u181-windows-x64:换一个高版本的jdk安装
①系统变量:修改
①修改:就不会报错了
2、准备打包时候显示SDK版本低了
答:
①直接点击了然后就继续成功了
3、
答:
①
1、打包就报错:
Win32Exception: ApplicationName='C:\android-sdk-windows\build-tools\android-6.0\apksigner.bat', CommandLine='sign --ks "C:\Users\TS\.android\debug.keystore" --ks-pass stdin --ks-key-alias "androiddebugkey" --key-pass stdin "F:\Project\yinTang\butterflyGarden\Scripts\TestAndriod2\Temp/StagingArea/Package.apk"', CurrentDirectory='Temp/StagingArea'
System.Diagnostics.Process.Start_noshell (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process)
System.Diagnostics.Process.Start_common (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process)
System.Diagnostics.Process.Start ()
(wrapper remoting-invoke-with-check) System.Diagnostics.Process:Start ()
UnityEditor.Utils.Program.Start (System.EventHandler exitCallback) (at D:/unity/Editor/Mono/Utils/Program.cs:44)
UnityEditor.Utils.Program.Start () (at D:/unity/Editor/Mono/Utils/Program.cs:28)
UnityEditor.Android.Command.RunWithStdin (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg, System.String[] input)
UnityEditor.Android.PostProcessor.Tasks.TasksCommon.Exec (System.String command, System.String args, System.String workingdir, System.String errorMsg, System.String[] stdin)
UnityEditor.Android.PostProcessor.Tasks.BuildAPK.SignPackage (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessor.Tasks.BuildAPK.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.BuildReporting.BuildReport report)
UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (BuildPostProcessArgs args)
UnityEditor.PostprocessBuildPlayer.Postprocess (BuildTargetGroup targetGroup, BuildTarget target, System.String installPath, System.String companyName, System.String productName, Int32 width, Int32 height, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.BuildReporting.BuildReport report) (at D:/unity/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:272)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
2、在Unity2017.4.35f1使用Unity5.6.3f1的安卓配置一直会报错
①解决方法:Unity3D:CommandInvokationFailure: Gradle build failed.