如何在基于IntelliJ IDEA的新IDE Android Studio中重命名软件包?
是否包含自动重构?
我想进行大规模重构,但我不知道怎么做。我在Eclipse工作了两年,在Eclipse中它是一个一键操作。
如何在基于IntelliJ IDEA的新IDE Android Studio中重命名软件包?
是否包含自动重构?
我想进行大规模重构,但我不知道怎么做。我在Eclipse工作了两年,在Eclipse中它是一个一键操作。
当前回答
我尝试了两个最热门的解决方案,但发现了一些问题,尽管这两个方案在某种程度上都有效。
列表项:新的包拖放方法保持一些不变,并产生一些不希望的效果列表项:重命名包仅更改包名称的最后一部分
经过一些实验,我发现下面的方法对我很有效。
如果您只需要更改包名的最后一部分,请使用GreyBeardedGeek概述的方法,即
右键单击“项目”窗格中的包。从上下文菜单中选择Refactor->Rename
如果需要更改整个包名,请执行以下操作。
右键单击“项目”窗格中的包。从上下文菜单中选择Refactor->Move
这将创建一个新的包文件夹(必要时),但将保留包名称的最后一部分。如果需要更改最后一个零件,请相应地进行重命名。
还请注意,您可能需要修改例如build.gradle、manifest和/或任何xml资源文件中的包名,甚至需要修改硬编码的代码中的包名称。之后,根据需要执行同步/清理/重建项目。
其他回答
转到项目路径>找到Java文件和包的位置创建新文件夹,例如com→ 超级程序包→ 活动Android Studio将刷新项目结构将所有Java文件移动到新文件夹删除旧文件夹菜单编辑→ 发现→ 替换路径:将旧包名称更改为新包舱单和建造坡度也发生变化
完成!
这对我来说非常有效,即使是更改所有相关模块中的引用,也可以更改我想在包中修改的文件夹名称,但对我来说,只有完全按照以下步骤操作,这才有效:
A-如果您想更改根文件夹的名称(换句话说,通常在包中用于包含主要活动的文件夹的名称),可以在以下步骤(B到C)之前或之后通过退出“Android Studio”手动重命名此根文件夹。单击“导入项目…”,然后单击项目的新名称(此导入过程将自动使用项目文件重新调整“Gradle”文件)B-在接下来的C步骤之前,不要忘记手动修改要在包中更改的文件夹名称,方法是在以下3个文件中更改它们:“AndroidManifest.xml”、“MainActivity.java”(或您最终为第一个活动选择的名称)和“build.gradle(Module:app)”文件。C-按照上述步骤1至6(“在项目窗格中,单击小齿轮图标…”)->https://stackoverflow.com/a/29092698/2001610 D-仅当您现在想要更改根文件夹的名称时,您可以按照上面所述的“A”过程进行操作。
如果您的包以mypackageold.something.test开头,则不能更改为mypackagenew.somethingnew.testnew。
在这种情况下,如果我按照上面接受的回答步骤,结果将是mypackageold.something.testnew。
只有当您的包以com….to New包开头时,上述接受的答案才有效。
因此,如果您想从根级别更改包
更改清单中的Required包名称,移除旧软件包并在Android标签下装入新软件包,将所有文件从旧包拖到新包,在Manifest中,还可以更改这些文件的包名,清洁项目,打开build.gradle并更新applicationId。
转到AndroidManifest.xml文件。将光标放在软件包名称中,如下所示。不要选择它,只需放置它。然后按Shift+F6,您将看到一个弹出窗口,如下所示。选择重命名包。输入新名称并选择Refactor。(注意:由于我的光标位于“something”上,因此只有something被重命名。)
完成了。
转到AndroidManifest.xml在那里,您将找到作为manifest标记属性的包。只需选择要更改的部件,右键单击->重构->重命名
也许早些时候,这很难,但到今天为止,这已经不难了。
您可能还想在中更改应用程序id
defaultConfig {
applicationId
}
短而甜