仙五移植到AndroidStudio历程及友盟推送 - kyohwang/games GitHub Wiki
移植的起因:
由于仙五正式版本需要友盟的推送功能,在集成测试的过程中发现母包是完全可以接收到远程推送的,但是畅游那边分出来的子包不行。后来查阅友盟论坛发现,友盟sdk自己的AndroidManifest.xml中需要设置一下当前的包名,由于畅游出子包的时候只是替换了主工程的包名,这里没有进行动态的替换,所以就出问题了。后来跟他们沟通说目前as支持动态替换包名,这么写就可以,
在gradle文件中这么配置
移植中的问题
一开始搜了下网上的教程,最直接的办法就是从eclipse现有的项目中导出gradle配置,然后可以自然地导入到as中。我试着这么搞了之后,在as中打开之后一堆报错,而且还找不到主工程,文件目录结构都不对。后来看了看是咱们的工程太老了,这种方式不太适合了。后来索性自己新建了一个as空工程,把咱们的仙五工程按照对应的目录,一点一点的复制进去。至于友盟的sdk则需要按照as的方式重新导入一遍,添加依赖module。其他的一些小问题就不说了,最主要的是jar包之间的冲突解决,友盟的jar包和畅游的jar里面有个类冲突,后来在网上找到了一个阉割版的友盟jar包,替换之后就好了。as中有个很重要的clean Project 操作,可以消除很多问题。。。真机调试程序的话,需要在这里设置一下才能用
自动打包的设置
现在这里填写好签名文件的信息
然后在构建设置这里选上刚刚新建的Xijian模板
改完这些之后,出包顺其自然了,我就简单写了个脚本,内容也比较简单,只能说as太强大,一句话搞定。
as的好处
1.logcat比起eclipse来好用不少,起码没有那么多的垃圾信息快速的刷屏。查看信息方便很多
2.可以查看内存和cpu的使用情况
3.编译输出信息比较全面,错误好查找
4.gradle文件配置很多用处,各位可以自己上网查查,里面的配置可以方便很多事情。比如在这里设置包名和版本号,出包的时候会优先读取这里,这里没有的话才回去找mainfest文件
总之,现在很多anddroid方面的东西都往as靠拢了,eclipse有的第三方也不支持了,是个趋势。我们能用的话就先用起来。