老总说要给客户演示App
,我通过QQ
传APK
给他,可是QQ
好坑人啊。不知是否是之前在腾讯应用宝市场上上传过,还是因为QQ
本身能够识别,居然能看到包名,老总不乐意了,说这个包名不好,需要修改。
既然老总发话了,那就改呗。注意:应该先拷贝一份在本地,别直接修改,不然出错了,改不回去咋办。我一开始也是一头雾水,查阅资料之后看到 叶神的文章。
博客中介绍,首先在项目中的gen
目录下,修改包名。把com.jiangsu.putaotang
修改为com.shichuang.putaotang
。
如下图所示:
点击包,然后按F2
快捷键,跳出如下图所示:
修改完后,点击OK
,完成。然后在AndroidManifest.xml
文件下,修改package = com.shichuang.putaotang
。
如下图所示:
修改完成后,按Ctrl+S
,将跳出下图所示:
点击Yes
之后,发现怎么还有很多报错的包。请不用慌,我们先clean
一下,clean
完之后,发现怎么还是有很多错误,更加慌了,叶神的博客有问题啊。怎么R.java
索引文件还报错啊。
咋办,只能继续查阅资料,看到了 枫神的博客。让我们在src
目录下,修改想要修改的包名。而我是想要全部都修改。
如下图所示:
点击第一个包,按F2
跳出如上界面,修改包名,注意:若此包,含有子包,则勾选 Rename subpackages 这项。然后点击OK
。
出现如下所示:
点击Continue
,则完成。之后的操作就是,依次按上一步修改你要修改的包。直到全部修改为止。之后突然发现,还是有问题,点击clean
之后,依旧有问题。那咋办?只能继续找问题啦。
在Problems
下,点击核心Error
,定位到错误点,如下图:
这里可能是布局文件中的问题,例如:LinearLayout
中的xmlns:app="***"
带有之前的包名字样,或者是自定义的控件前的包名带有之前包名的字样。一一修改后,clean
一下就大功告成啦。
当然,也有人想修改代码中有关带有包名的设置代码,比如,在service
或者activity
中的intent-filter
部分,在AndroidManifest.xml
中,按Ctrl+F
快捷键,如下图:
用新包名代替旧包名字样。
更有甚者,若想全局搜索老包名,则按Ctrl+H
快捷键,去搜索,一步步修改实现。
参考资料:
1.http://blog.csdn.net/jdsjlzx/article/details/46348249
2.http://blog.csdn.net/growing_tree/article/details/46827167
3.http://hddev.blog.51cto.com/3365350/1353697