解决办法,直接一拉到底。
遇到一些情况,项目需要修改包名,这就开始恶心了。如果项目的产品线很多很多,就会恶心到死。当听到这个需求的时候,当时我的内心是崩溃的。对于我这个打着激素、吃着饲料、接触android不到一周直接二开的、还是碎片化学习android的小菜鸟来说,就是让一个刚刚辟谷的小道士直接去对抗元婴期的boss。
然后就开始胡思乱想。最后成功把自己给吓住了。两眼一抹黑的我,还是进入了求助模式,闭关千年不出的群主、迷一样的美男子舟神都惊动了,这是飞一般的感觉!在宗主、长老、和广大道友的帮助下确定:
修改包名,可以当成新项目重写,所有第三方appkey重新申请。上线后是另外一个app。不会覆盖以前的app。
血的教训:不要用 refactor----rename去直接修改包名,会出现各种不可预测的bug。
环境:eclipse (为何不是as呢,因为接手的时候就是eclipse,慎(hen)重(song)的我,暂时没(bu)有(gan)迁移as)。
解决办法:
1.新建一个工程A,打开新建工程A、需要修改工程B的所在文件夹;
2.自动rebuild project取消打钩,把需要修改工程B的libs、res以及包名下面所有的都copy到新建工程A相应的而目录里面;
3. 把需要修改工程B的manifest,从package="com.example.practicing"下面copy所有至 新建工程A 的manifest的相应位置。
4.接下来全是令人头疼的红叉,表急,用全局修改,把package、com.example.practicing.R全部替换成新建工程A的,就ok了。
5.为确保不出意外,在新建一个工程A下,全局搜索一下修改替换的东西。我的到这里就完事了,项目完美运行。如果还有问题,自求多福。。。