最近阿里云打折,博客迁移了一下,访问起来舒服多了,顺带更新一下~

前段日子搞了个3D麻将,之前一直用Eclipse接sdk,但是Unity上每次导出Android工程的话,需要小心处理一些文件的覆盖(这个之前在iOS上是使用了xcodeproj写了一些脚本,略麻烦).在网上看了一下,将接入的sdk和自己写的Java代码部分,打成一个aar包,是个不错的选择,尝试了一下,发现一些问题,记录一下.

######问题主要出在处理sdk工程的各种引用依赖上 微信:官方推荐是在直接在build.gradle配置里面添加一个依赖项. 融云:官方推荐是将他们的sdk工程作为一个module引用. 以现有工程为例,以上两者调试都没问题,打包成aar的时候,坑爹的地方就出现了,打出来的aar包里,既没有微信的jar包,也没有融云的jar包和so库.这时候,又有两种解决方案.一个是fat-aar,另外一个是,手动将jar包完全引入一个工程中(基本就和Eclipse的集成方式一致).最终在花费了3天左右,我无奈之下选择了后者,使用fat-aar的时候,经常出现操作一样,但是有时候融云工程里面的jar/so文件打包不进来的情况,还不如后者一次搞定,受用无穷.

另外需要注意的一些点就是,aar,AndroidManifest,Unity的Player Settings三者里面,sdk版本设置等必须保持完全一致,不然Unity Build包的时候会报错.调用流程网上大把,就不记了.目前的理想流程是所有常用sdk集成出一个aar,名字icon也加进去,并且通过ant来控制修改icon,名字,渠道号,这样在Unity下只需要按build,就可以出最终的release包了,也很方便使用CI做持续集成(如果可能的话),美滋滋.