如何在基于IntelliJ IDEA的新IDE Android Studio中重命名软件包?
是否包含自动重构?
我想进行大规模重构,但我不知道怎么做。我在Eclipse工作了两年,在Eclipse中它是一个一键操作。
如何在基于IntelliJ IDEA的新IDE Android Studio中重命名软件包?
是否包含自动重构?
我想进行大规模重构,但我不知道怎么做。我在Eclipse工作了两年,在Eclipse中它是一个一键操作。
当前回答
我在这里找到了另一种可行的方法,或者对一些答案采取了额外的步骤,特别是如果你想改变域名的话。它在Android Studio 1.4中工作。这是我所做的:
打开Manifest.xml并将包名称更改为所需的名称。打开appbuild.gradle文件,将defaultConfig中的应用程序Id更改为清单中的相同名称,然后重建项目。如果仍然存在问题,请在包名下打开一个文件,转到包面包屑(即文件开头的包声明)并将光标设置为要更改的域,然后单击“Shift+F6”,会出现一个带有多个使用警告的对话框,单击“重命名包”,然后单击”Do Refactor“,它应该重命名包括R.Java文件在内的所有内容。
例如,如果要将“com.example.app”重命名为“com.YourDomain.app”,请在要重命名的包下打开一个文件,在包面包屑中,将光标设置为域的“example”部分,然后按Shift+F6并将包重命名为“YourDomain”。
其他回答
我在这里找到了另一种可行的方法,或者对一些答案采取了额外的步骤,特别是如果你想改变域名的话。它在Android Studio 1.4中工作。这是我所做的:
打开Manifest.xml并将包名称更改为所需的名称。打开appbuild.gradle文件,将defaultConfig中的应用程序Id更改为清单中的相同名称,然后重建项目。如果仍然存在问题,请在包名下打开一个文件,转到包面包屑(即文件开头的包声明)并将光标设置为要更改的域,然后单击“Shift+F6”,会出现一个带有多个使用警告的对话框,单击“重命名包”,然后单击”Do Refactor“,它应该重命名包括R.Java文件在内的所有内容。
例如,如果要将“com.example.app”重命名为“com.YourDomain.app”,请在要重命名的包下打开一个文件,在包面包屑中,将光标设置为域的“example”部分,然后按Shift+F6并将包重命名为“YourDomain”。
安卓工作室2022
分步实施
步骤1:要在Android studio中重命名包名,请首先在Android模式下打开项目,如下图所示。
步骤2:现在单击设置齿轮图标并取消选择紧凑型中间包。
步骤3:现在,packages文件夹被分解为下图所示的部分。
步骤4:现在右键单击第一个包名(com),然后Refactor>Rename。将显示警告消息,但继续并单击重命名当前按钮。
步骤5:根据需要重命名目录名,然后单击Refactor按钮。
注意:转到“Build”>“Rebuild Project”以显示更新的名称。
现在,您可以从com->gfg中看到目录名的更改,如下图所示。
步骤6:根据您的要求,对域名扩展名和应用程序文件夹名称执行相同操作。
现在,您可以看到包名已从com.example.pulltorefreshwithlistview更改为gfg.geekesforgeekes.listview,如下图所示。
步骤7:现在转到gradle脚本中的build.gradle(模块:app)。此处更改applicationId并单击“立即同步”。并且成功地重命名了包名。
资料来源:如何在Android Studio中重命名软件包名称?
我需要运行文件->使缓存无效/重新启动。。。清除原始包装的残留物
我找到了一个更容易解决这个问题的方法,它也改变了生成的导入,比如com.test.testpackagechange.R,只需要一分钟。
第一步是打开Android Studio并打开替换所有窗口(Mac:cmd+shift+R,我假设Windows为:ctrl+shift+R)。输入您的旧软件包名称和新软件包名称下面的名称。单击查找。这可能需要一段时间,因为它也在查看生成的项目。如果点击次数超过1000次,只需单击“继续”。
完成后,按下“全部替换”,用新的包名替换旧的包名。
现在关闭Android Studio并转到Mac上的Finder或Windows上的Windows Explorer。将文件夹的名称更改为新的程序包名称,如下所示:
现在再次打开Android Studio。Gradle将同步,您的包名应更改为新的包名。
我发现这是最简单的一个,它涵盖了所有领域,比如生成的文件。
我尝试了两个最热门的解决方案,但发现了一些问题,尽管这两个方案在某种程度上都有效。
列表项:新的包拖放方法保持一些不变,并产生一些不希望的效果列表项:重命名包仅更改包名称的最后一部分
经过一些实验,我发现下面的方法对我很有效。
如果您只需要更改包名的最后一部分,请使用GreyBeardedGeek概述的方法,即
右键单击“项目”窗格中的包。从上下文菜单中选择Refactor->Rename
如果需要更改整个包名,请执行以下操作。
右键单击“项目”窗格中的包。从上下文菜单中选择Refactor->Move
这将创建一个新的包文件夹(必要时),但将保留包名称的最后一部分。如果需要更改最后一个零件,请相应地进行重命名。
还请注意,您可能需要修改例如build.gradle、manifest和/或任何xml资源文件中的包名,甚至需要修改硬编码的代码中的包名称。之后,根据需要执行同步/清理/重建项目。