如何在基于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”。
其他回答
我尝试了两个最热门的解决方案,但发现了一些问题,尽管这两个方案在某种程度上都有效。
列表项:新的包拖放方法保持一些不变,并产生一些不希望的效果列表项:重命名包仅更改包名称的最后一部分
经过一些实验,我发现下面的方法对我很有效。
如果您只需要更改包名的最后一部分,请使用GreyBeardedGeek概述的方法,即
右键单击“项目”窗格中的包。从上下文菜单中选择Refactor->Rename
如果需要更改整个包名,请执行以下操作。
右键单击“项目”窗格中的包。从上下文菜单中选择Refactor->Move
这将创建一个新的包文件夹(必要时),但将保留包名称的最后一部分。如果需要更改最后一个零件,请相应地进行重命名。
还请注意,您可能需要修改例如build.gradle、manifest和/或任何xml资源文件中的包名,甚至需要修改硬编码的代码中的包名称。之后,根据需要执行同步/清理/重建项目。
一定要去Sheharyar的伟大答案。随之而来的答案和评论太多,很容易让人感到困惑和放弃,但不要。这个答案有效。
简而言之,你要做三件事:
(1) 取消选择压缩空中间包装。
(2) 然后,通过选择“更改包”(而不是“更改目录”)来重命名每个旧目录节点,以匹配新的包名称。(请务必预览更改。)
(3) 编辑build.gradle文件,使APPLICATION_ID与新的包名匹配。
最好的方法是编写新的包名,然后从旧的包名中拖动。
第二种方法是,如果单击Refactor then move选项,然后重命名包名,它将重命名包名并重新生成。
在Build.gradle中,您必须手动执行,如果重构,则不会在Build.ggradle中重命名。
更改程序包名称
要重命名包名,只需转到AndroidManifest.xml文件,并将鼠标光标放在要更改的包名部分的前面。
右键单击>重构>重命名
在新窗口中,按Rename package
更改名称并按Refactor
…然后按底部的Do Refactor。
您的包名通常采用com.domain.appname格式;在本例中,我们更改了appname部分,但您也可以对域执行相同的步骤。
完成!您已更改包名称!
ctrl+Shift+R一直对我有效。只需替换所有文件并选择所有文件。