先说下自己的开发环境

Win7 x64

Unity5.2.2

Android Studio 2.3.2(以下简称AS)

JDK1.7


再说下创建项目

在AS中创建一个新项目

用empty activity

将Unity中的classes.jar考到项目下libs文件夹下,并右键->Add as Library

里面各种修改,最后要Build APK,发布出app-debug.aar文件

用解压程序打开此aar文件

删除其中的libs文件夹

将此文件及AndroidManifest文件考到Unity项目

Assets/Plugins/Android  文件夹下

Unity中发布Android,注意包名和你AS项目的包名一至

我建的Unity测试项目是一个很简单的场景,就是像机看着几个Cube


流程如上,但是会报出很多错误,要解决这些问题就要如下操作。


首先

在AS中创建Android项目时

最后一页有一个选项:Backwards Compatibility(AppCompat)

这个选项不要勾选上,我的Unity跟AppCompat可能有不共戴天之仇吧


其次,JDK版本

我原先是1.7,会报出如下

Failed to compile resources with the following parameters: -bootclasspath "/Users/alex/development/adt-bundle-mac-x86_64-20131030/sdk/platforms/android-21/android.jar" -d "/Users/alex/Documents/development/unity/Maze/Maze/Temp/StagingArea/bin/classes" -source 1.6 -target 1.6 -encoding UTF-8 "com/facebook/android/R.java" "com/google/android/gms/R.java" 


这样的错误,在StackOverFlow上的人们解答是把JDK升级到1.8

我照做了,OK了


最后,在MainActivity中的onCreate方法中第二行语句


setContentView(R.layout.activity_main);

这行必须注释掉,不然装上apk运行就报错退出



到此,我们的Unity项目可以成功发布成Android APK了