1.首先打开Eclipse,新建一个项目,项目名称为Timee(由于为了演示方便,Workspace已经有一个项目叫Timee,所以这里会报错,请无视):
image.png注意:这里的Package Name很重要,之后在Unity打包的时候,写的包名不能和它一样,不然会报错(血的教训)。
image.png比如像我这样在Unity端的包名后面加一个“2”,我这里API选用了API 14,即Android 4.0
另外注意:创建Android项目的时候尽量用Android 4.0及以上版本的SDK,要不然Unity打包的时候它会报各种各样的“can not find Android theme"的错误。
2.MainActivity的代码,继承自UnityPlayerActivity(必须导入Unity提供的classes.jar包,在网上可以下载,在Unity的安装目录也可以找到)。
image.png由于程序一启动,首先创建MainActivity的实例,并且回调onCreate()等方法。我们的Unity的主界面是靠scene去渲染,所以删除MainActivity中setContentView()。(以下代码已经删除该方法)
image.png3.新建一个SubActivity用于跳转功能,其中对应的layout文件没什么要求,我这里就是初始的“Hello World”。
image.png4.将这个Android项目作为Library(项目名称点右键进入Properties选项)
image.png5.关掉Project->Build Automatically选项,然后Clean一下项目,再点击Build Project重新Build一下。
image.png- 打包我们Android项目,按道理来说,打包的东西只需要class就可以,但是我们的项目中除了自己的class还有自动生成的
gen目录下面的东西,还有其他资源,为了不遗漏,干脆全部打包。res AndroidManifest.xml也被打包,这些只不过是垃圾而已。
7.将导出的jar包导入Unity的bin文件夹下,如图(名字随意,我改成了class.jar):
image.png8.将Eclipse中Android项目的AndroidManifest.xml文件照图中修改
image.png并且拷贝到Unity中如下图一样的位置:
image.png9.Eclipse中其余的文件夹照上图中的位置搬运,共需搬运assets,libs,res三个文件夹(如下图)
image.png10.在Unity中创建一个脚本,名字随意,我的叫AndroidAPI,用于调用转移到Unity的jar包里面的方法
image.png挂载在一个游戏物体上,例如Main Camera:
image.png11.编辑这个脚本:
image.png12.以上内容必须在真机中测试,所以接下来是打包,打包之前进行一些Player Setting的设置:
image.png12.导出为Android APK:
image.pngPS:如果出现以下错误
image.png解决方法:
找到sdk文件夹:把build-tools里大于23.0.3的全移除掉,像24.0.0, 25.0.2...
13.安装到手机,就可以运行了
网友评论