本文源链接:http://blog.csdn.net/qq393830887/article/details/53164464
注意
作者也是出无奈才开始研究 Android Studio,一点都不想用这玩意
发现使用 Gradle Build 的时候,还会因为内存不足失败,我也是醉了
起源
Unity 5.x 开始支持使用 aar 文件
Unity 5.4 开始导出 Gradle 工程
Eclipse 不再维护,很多 SDK 的文档都已经涉及到 Android Studio
对比
Eclipse
界面比较老土,但是看 ADB 的话,界面更工整
资源 .so .jar 得分别放在不同的目录,好处就是方便修改
jar 可以根据需要代码选择导出(虽然貌似也可以选择 AndroidMainifest 等资源一起导出到 jar,但由于一直未尝试不多说)
Android Studio
界面比较时尚,但是 ADB 信息真心不想看
支持 ,方便查看和对比 apk
都导出到一个 aar,不过对于重复资源和 .so 真好奇怎么办
开始
Unity 目录结构
非常简洁的目录,并没有使用资源(Android 开发不是我擅长的呀)
没搞懂这个是什么的看这个吧 Unity3D使用Native Plugins(快速便捷接入SDK) —— Java篇
导出Gradle
Build System 选择 Gradle,这玩意 Unity 5.4 开始才支持的,没有就升上去吧,别去这折腾 ADT
然后选择 Export Project,不选择的话就会变成使用 Gradle 来生成 APK,看官网的说法就是这玩意相对 ADT 更严格Gradle for Android
Build With Gradle
这算是个临时想到的测试
刚提到严格,就真的严格了,难怪之前我用 Android Studio 发的 release unsigned.apk 提示:安装失败(-103)安装包解析出错
这个倒是简单,勾选 Development 就解决了
不过发现那个 restart 的 AndroidManifest 的包名不可以取和代码相同的 package 名称,虽然在 ADT 上过了,但是在 Gradle 上不过,改了就正常了
导出的目录
整个目录还是挺清晰的
这里对比一下 ADT 的目录,ADT 的目录一直都是 Import 形式进来的
Open an existing Android Studio project
对于那些强迫症的,可以选择 OK,直接使用最新的
一般项目的话应该都是使用 local 的,所以这里应该 Cancel
Android Studio 工程
工程相关的就没什么好讲的了,我也不清楚,毕竟也不需要导出工程
唯一需要用 Android Studio,大部分都是生成 aar,而不是生成 apk
Restart 对应的 aar
一共生成了2个文件,如果没有 Build - Make Project 的话,2个文件也就1K,不清楚原因
解压缩2个文件,没看错,解压缩,会发现唯一不同的点是在 classes.jar,这文件记录了是否是 Debug 模式
其实在 Unity 4.x 的时候,就有接过 aar 的 SDK,那时候的做法就是解压缩,然后将文件拷贝到原本对应的位置,真心就这么简单
jar 改用 aar
ADT 通过
Gradle 通过
Android Studio 改用 aar 的工程
注意已经没有了单独的依赖的库文件夹
取而代之的是 Restart-release.aar,神奇的是 Android Studio 识别不出来这个 aar
然而 Build APK 安装运行一切正常(除了第一次 Build 的时候莫名其妙的报错,释放点内存就行了,还以为只会在 Unity 中出现呢)