Unity中打包发布Apk时版本更新产生的问题

来源:互联网 发布:python post本地文件 编辑:程序博客网 时间:2024/05/20 04:10

Unity打包发布遇到下列错误:

CommandInvokationFailure: Unable to merge android manifests. See the Console for more details. 
C:\Program Files\Java\jdk1.8.0_151\bin\java.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir="C:/Users/wzh/AppData/Local/Android/android-sdk-windows\tools" -Dfile.encoding=UTF8 -jar "E:\Unity562Install\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\sdktools.jar" -
stderr[
]
stdout[
Warning: [Temp\StagingArea\AndroidManifest-main.xml:12, C:\Users\wzh\Desktop\UnityAds\Temp\StagingArea\android-libraries\UnityAds\AndroidManifest.xml:3] Main manifest has <uses-sdk android:targetSdkVersion='21'> but library uses targetSdkVersion='23'
]
exit code: 1
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.RunCommandInternal (System.String javaExe, System.String sdkToolsDir, System.String[] sdkToolCommand, Int32 memoryMB, System.String workingdir, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.RunCommandSafe (System.String javaExe, System.String sdkToolsDir, System.String[] sdkToolCommand, Int32 memoryMB, System.String workingdir, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.HostView:OnGUI()


以上错误的主要内容是这句: Main manifest has <uses-sdk android:targetSdkVersion='21'> but library uses targetSdkVersion='23',意思是说你选择的Android API Level等级是21的,但是你库中的是等级23的

经过我多方寻找解决方法是因为targetSdk版本选择产生的问题,,我的是因为我之前的SDK版本低,然后重新下载了一整个新的SDK包,又更新了一些东西,结果就是打包报了这个错误。

好了,废话不多说,解决方法是设置Player Setting下的Minimum API Level选择最低版本的,也就是第一个,这是为了保险起见,只要选择的不高于你电脑上的SDK的版本就行,最重要的是下边这个,设置Target API Level为highest installed,也就是选项的第一个,意思是使用已经安装的最高版本,这个也是最保险的方法,当然也可以直接指定你下载的那个版本,如果不知道是哪个版本也没关系,等报了我上边这个错误,错误信息会告诉你的,比如我这个:Main manifest has <uses-sdk android:targetSdkVersion='21'> but library uses targetSdkVersion='23',就是我安装的版本是23,但我设置的是21,所以把Target API Level设置为23等级的也可以。总的来说就这两种解决方法。当然,打包的其他问题也需要注意,像公司名要改、包名也要改,其他设置默认就可以。出错就上网搜,总有人会遇到同样的问题的。





原创粉丝点击