我尝试用Unity直接导出APK的话会出现下面这样的错误:

CommandInvokationFailure: Failed to re-package resources. See the Console for details.
C:\Users\SkyD\AppData\Local\Android\sdk\build-tools\24.0.0\aapt.exe package --auto-add-overlay -v -f -m -J gen -M AndroidManifest.xml -S "res" -I "C:/Users/SkyD/AppData/Local/Android/sdk\platforms\android-23\android.jar" -F bin/resources.ap_

stderr[

]
stdout[

]
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.PostProcessAndroidPlayer.Exec (System.String command, System.String args, System.String workingdir, System.String[] progress_strings, Single progress_value, System.String errorMsg)
UnityEditor.Android.PostProcessAndroidPlayer.CompileResources (System.String stagingArea, System.String packageName, UnityEditor.Android.AndroidLibraries androidLibraries)
UnityEditor.Android.PostProcessAndroidPlayer.PostProcessInternal (System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry)
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.HostView:OnGUI()


所以就只能尝试先导出为Android项目,再进行编译了。

首先看一下Unity方面的设置,关键的地方我已做了标注:

image

导出后的项目目录中是这样的:

image

然后打开Android Studio,在其开始界面中选择“Import project(Eclipse ADT..)”这个选项:

image

然后选择先前Unity导出的项目:

image

向导窗口的选项基本都保持默认,等待导入加载完毕。

此时如果直接编译APK的话是编译不出来的,原因在于AndroidManifest.xml文件中有2个坑爹的错误提示。

其一是“android:debuggable=”false””这段代码貌似有问题,具体什么问题我也懒得看了,直接删掉了它。

其二是要求必须加入下面这段代码:

<uses-feature android:name="android.software.leanback" android:required="false" />

image

然后就不会报错了,此时测试编译APK,成功的话就可以尝试运行了。

image

这是模拟器中运行的情况,对比一下Unity中的运行情况:

image

模拟器里的光影明显有问题,点光源的范围被缩小了很多,平行光貌似压根就没有了吧,真是坑,以后慢慢调去了。

附上我系统的Android SDK版本:

image

相关参考:

http://www.goprogramming.space/unity-and-android-studio-integration/

http://forum.china.unity3d.com/thread-1705-1-1.html

http://blog.csdn.net/u010665359/article/details/50983233

分享或转载本博客站点内的所有原创内容时,都必须遵循此协议:

姓名标示-非商业性-相同方式分享 4.0 国际 (CC BY-NC-SA 4.0)

同时必须附加指向本文页面本博客首页的超链接。

除此之外的转载、分享方式都必须征得本博客作者的授权,否则将会诉诸法律。