android studio修改工程包名

今天做项目时,要求更改程序的包名。于是经过查资料与摸索。

有了一点成果,写成博客,供自己参照,同时非常乐于与大家分享。


情况1:

直接修改包名的“尾巴”,也就是包名的最后一级。

比如:一个包名叫zzjr.com.third,被要求改成zzjr.com.they

首先看一下工程的目录结构:

android studio修改工程包名_第1张图片


首先修改 applicationId,applicationId是一个app的标识,如果其它的都改了,但applicationId没有更改,则android系统会认为这是同一个应用,于是用新的包名去安装应用时,只会把旧的app覆盖掉,并不会有两个app共存在android系统上。

将app级的build.gradle文件里的applicationId 改成 zzjr.com.they (见截图的光标处) ,然后会出现如下提示:

android studio修改工程包名_第2张图片

直接点击Sync now。等待其sync完毕并且build成功,我们完成了此次修改的第一步。


然后修改AndroidManifest.xml当中的包名:



修改完AndroidManifest.xml后,请点击工具栏上的sync project with gradle files 这个图标,如下所示:

作用是同步一下工程。


然后在工程的包名上点击右键选择refactor---> rename (或者按shift + F6,以下为了省墨水,直接按快捷键)

android studio修改工程包名_第3张图片


然后选择Rename package

android studio修改工程包名_第4张图片

然后我们会看到这里,IDE自动列出了third字样,也就是旧的包名的最后一级。

android studio修改工程包名_第5张图片

我们把它改成they. 然后点击refactor.   

然后再看工程的目录结构:

android studio修改工程包名_第6张图片

可以看到,此次修改好像没什么问题了。

我们运行一下程序,我在MainActivity.java里写了一个方法获取包名,然后用TextView给显示出来,代码比较简单,为了省空间,此处不再写了。

运行结果:

android studio修改工程包名_第7张图片

再回到模拟器的桌面上,看看是不是有两个app可以共存了(红色为新改的包名):

android studio修改工程包名_第8张图片


情况2:

修改包名的中间级,如:zzjr.com.they修改成zzjr.org.they

此时我们需要首先点击 工程结构旁边的小齿轮,将红色部分那一串字符前的对勾去掉。

android studio修改工程包名_第9张图片

然后注意一下目录结构的变化:

android studio修改工程包名_第10张图片


然后如情况1:先修改build.gradle里的applicationId改成zzjr.org.they,然后sync now一下,然后修改AndroidManifest里的package名为zzjr.org.they。再点击工具栏上的sync project with gradle files 图标同步一下工程。操作跟情况1里一样,所以,这里就不再重新截图了。


然后我们选中工程目录里的com,然后按shift + F6.调出修改包名的对话框。选择Rename package, 将com改成org后,点击refactor就可以了。

再看一下改后的目录结构:

android studio修改工程包名_第11张图片


同样的,我们运行一下程序:

android studio修改工程包名_第12张图片


再看在同一桌面的共存情况:

android studio修改工程包名_第13张图片

Lovely!!!


情况3:




情况4:

等 有时间 再写

你可能感兴趣的:(Android开发)