android 修改项目包名详解

在android 平常项目开发中,修改项目包名是很常见的事,哪如何有限修改包名一步到位呢?经过几次痛苦的经历后,觉得有必要记录一番!

对于修改包名,一般有两种情况:
1)一个是包名目录结构不变,比如说,将包名“com.zlc.xuexi”,改成"com.xuexi.zlc"

2)另一个是包名目录结构改变了,目录级数改变了,比如说,从"com.xuexi.zlc",改变成"com.xuexi.zlc.zlc",这里包名的目录结构就从3级改变成为了4级

下面分别来讲解一下这两种情况

1、第一种情况:包名目录结构不变

针对第一种情况,其实特别好改,步骤截图如下:
切换的Progject结构,查看java包名结构,一般是这样的


image.png

点击show options menu按钮


image.png

image.png

去掉勾上的 Hide Empty Middle Packages 和 Show Members


image.png

java包的展示目录结构就改变了


image.png

对于包名目录结构不改变的。就分别改各个层次对应的包名或者直接按快捷键 Shift + F6


image.png

同理,假如是3级目录结构包名,每一个都要改变的话,就按照上图的做法一个个更改

接着,去改app模块下的build.gradle文件


image.png

image.png

然后去修改AndroidManifest.xml文件


image.png

最后,点击sync同步一下就大功告成了

2、第二种情况:包名目录结构要改变的

针对第二种情况,步骤截图如下:


image.png

点击show options menu按钮


image.png

image.png

去掉勾上的 Hide Empty Middle Packages 和 Show Members


image.png

java包的展示目录结构就改变了


image.png

对于包名目录结构不改变的。就分别改各个层次对应的包名或者直接按快捷键 Shift + F6


image.png

假如是3级目录结构包名,改成4级包名目录机构,首先要新建包然后去移动其他的目录包


image.png

新建好多一级的目录包之后,需要移动启动文件夹到该目录包下


image.png

接着,去改app模块下的build.gradle文件


image.png

image.png

然后去修改AndroidManifest.xml文件


image.png

最后,点击sync同步一下就大功告成了

3、注意

如果项目上用了DataBinding框架,特别是第二种情况,恭喜你,你肯能有得忙了。项目上有DataBinding框架的时候,当你按照上面的步骤修改了包名,就会报一个这样的错


image.png
image.png

遇到这个情况,肯定是修改包名或者移动了包名结构,但是布局文件或者java文件的的dataBinding的引用没有改变

image.png
image.png

这里我没找到特别快速修改的方法,放在我是一个个去检查java文件的导包和xml布局文件的应用,看对不对,不对就要手动改过来了,呜呜。。。。。。


image.png

如果,确定全部改完无误之后,重新Rebuild Project


image.png

万一,还是有刚才那个错误的话,记得再回头检查一遍java文件和布局文件,看看各自的引用对不对,如果全部都改对之后,还是有错误的话,哪就静下心来错误提示


image.png

如果不是DataBinding引起的话,一般都会找到比较明显的提示

==========我是有分割线的:2019.04.15更新=================================

如果真不好遇到第二种情况的话,面对databanding这种框架,那就只能使用全局替换的方法了

ctrl + Shift + R

你可能感兴趣的:(android 修改项目包名详解)