如何在基于IntelliJ IDEA的新IDE Android Studio中重命名软件包?
是否包含自动重构?
我想进行大规模重构,但我不知道怎么做。我在Eclipse工作了两年,在Eclipse中它是一个一键操作。
如何在基于IntelliJ IDEA的新IDE Android Studio中重命名软件包?
是否包含自动重构?
我想进行大规模重构,但我不知道怎么做。我在Eclipse工作了两年,在Eclipse中它是一个一键操作。
当前回答
问题是:
是否包含自动重构?
我想进行大规模重构,但我不知道怎么做。我在Eclipse工作了两年,在Eclipse中它是一个一键操作。
好吧,几乎只需单击一下即可自动重构,但只需先迈出一小步,即创建新包的一小步。下面是完整的解决方案。
您可以通过创建新包(包括所需的文件夹路径)来重命名包,然后从旧包中拖放(并让Android Studio负责从旧包到新包的各种引用的重构),如下所示:
右键单击应用程序下的java。选择新建并打包选择新包的位置为/app/src/main/java输入新包的全名将创建新包。现在,从旧包拖放到新包。如果您想检查AndroidStudio是否正确执行重构,请预览重构。如果一切看起来都很好,请继续重构。
注意:由于应用程序ID和包名现在是分离的,请注意,以上内容仅用于重命名包名。要更改应用程序ID,可以在build.gradle中执行。
其他回答
这很容易做到。只需遵循两个步骤:
右键单击根文件夹,然后单击打开的模块设置。之后,转到口味选项卡并根据需要更改应用程序id。
对于那些认为这只会更改build.gradle文件中的应用程序id的人:
这是谷歌写的
在build.apk的清单中使用的最后一个包是“应用程序id”,它是您的应用程序在设备和Google Play商店中的名称。
and
源代码中用于引用R类和解析任何相关活动/服务注册的包继续称为“包”。
您可以阅读更多http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename
另一个好方法是:首先右键单击Java文件夹,创建一个具有所需名称的新包→ 新→ 包裹
然后,选择并将所有类拖到新包中。AndroidStudio将到处重构包名。
最后,删除旧包。
完成。
非常重要:
如果使用此方法,则必须手动将AndroidManifest.xml和build.gradle文件更改为新包。
一个人可能犯的常见错误是无法重命名包结构,即当试图在com.name.android级别进行修改时,无法将com.name.aandroid更改为com.Renamed.android。
为了获得相同的所需更改,请升级一个级别,即com.name,在重构时将其更改为Renamed。这将永远有效。
我找到了一个更容易解决这个问题的方法,它也改变了生成的导入,比如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将同步,您的包名应更改为新的包名。
我发现这是最简单的一个,它涵盖了所有领域,比如生成的文件。
在Java文件夹中选择软件包名称。移位+F6更改软件包名称并单击“确定”。
您的包名将从所有Java文件和清单文件中更改。您必须从build.gradle手动更改包名。