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 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,093评论 25 709
  • 被逼到角落里的人,进退两难。不能表现出来任何不对劲,还要装作若无其事,端着一颗心多跳一下都是错误。
    别回头有狗阅读 161评论 0 0
  • 有事干的时候人就变得很精神了。 前路茫茫,学习聪明地吃苦… 见字如面 我一个人吃饭旅行 到处走走停停
    阿蓝方圓兒阅读 257评论 0 0
  • 第一张 1. 你看到了什么?我看到了别离,火车前的道别! 2. 焦点是哪部分?两个人在挥手道别 3.你想到了什么?...
    边进芳阅读 378评论 0 0