在Android Studio 4.0中修改项目名和模块中的包名

修改项目名

如果在Android Studio中直接选中项目名称,然后右键->Refactor->Rename,重构项目的名称,会出现这样的错误:Can't rename root module,这表明在IDE中是无法通过重构的方式修改项目的名称的。而为了修改项目的名称,可通过下面的方式进行修改:
(1)修改Android Studio;
(2)定位至项目所在的文件夹,找到需要修改项目名的文件夹,如MyApplication,将之修改为自己想改的名字,如HelloWorld
(3)重新打开Android Studio,会出现如下的界面,表示原先的项目MyApplication不可用了,在这里的操作是:叉掉左上角上的不可用项目,再选择导入项目。
在Android Studio 4.0中修改项目名和模块中的包名
(4)导入之前修改了项目名的项目。进入了IED的主界面后,会发现项目的名称已经修改了(在一开始时,IED中还会出现旧项目名的影子,但系统会自动把部分引用了旧项目名的文件更到新项目名,即一会后这些影子就没了)
在Android Studio 4.0中修改项目名和模块中的包名

修改模块中的包名

在默认的情况下,IDE中的包会以Compact Middle Packages(紧凑型中间包)的方式显示,如下图的com.example.calculator,在这种情况下,右键->Refactor->Rename,重构的会是最后一级的包名,此处的是calculator,而无法修改之前几级的包名,如comexample
在Android Studio 4.0中修改项目名和模块中的包名

这种不能修改前几级包名的原因是因为如下图所示的选择了Compact Middle Packages这个选项,这个选项使得空的中间包以紧凑的方式显示,如com.example.calculator,而不是如文件夹一般,一级一级的显示。为了能够修改前几级的包名,只要取消勾选这一选项即可。
在Android Studio 4.0中修改项目名和模块中的包名

取消勾选Compact Middle Packages这个选项后,模块中的包名会如下图所示的一级一级的显示。
在Android Studio 4.0中修改项目名和模块中的包名

选中包example对应的文件夹,然后右键->Refactor->Rename->Rename package(既改包名,也改包名对应的文件夹名),此处把example改为hello,再点击Refactor进行重构。
在Android Studio 4.0中修改项目名和模块中的包名
点击Do Refactor进行真正的包名重构。
在Android Studio 4.0中修改项目名和模块中的包名
如下为包名重构的结果,包名example已经改为了hello
在Android Studio 4.0中修改项目名和模块中的包名

打开此模块对应的build.gradle文件,把如下图所示的字符串"com.example.calculator"修改为"com.hello.calculator"。至此,包名的重构就结束了。需要说明一点的是,在IDE里,getPackageName获得的包名是build.gradle文件中applicationId对应的值,而AndroidManifest.xml文件中的那个package的作用其实是为了引用内部资源文件,以及保证 Activity 等源文件的路径正确而已,所以,在IDE中修改包名后,则只需要在build.gradle文件中修改applicationId就可以了。
在Android Studio 4.0中修改项目名和模块中的包名