如何在基于IntelliJ IDEA的新IDE Android Studio中重命名软件包?

是否包含自动重构?

我想进行大规模重构,但我不知道怎么做。我在Eclipse工作了两年,在Eclipse中它是一个一键操作。


当前回答

选择选项取消选中“压缩空中间包”选项。选择要更改的目录(我选择了步骤6中显示的“crl”)。移位+F6重命名程序包将目录crl重命名为crl1最后单击下图中标记的Do Refactor按钮在此处输入代码完成更改后

其他回答

如果重命名的唯一原因是避免与具有相同包名的另一个构建(或系统应用程序)发生冲突,那么您可以改为仅重命名应用程序build.gradle文件中的applicationId。

示例:假设您已经安装了一个id为com.android.phone的应用程序(您希望保留它),请将app/build.gradle更改为:

android {
    defaultConfig {
        applicationId "com.android.phone.mymod"

}

也就是说,如果你已经有一个软件包名为com.android.phone的应用程序,并且不想/无法卸载它(例如,因为它是一个系统应用程序,设备没有根目录),那么上面的更改就是所有需要的,以便将你的应用程序与原始应用程序并排安装。在设备上,applicationId将被使用,而不是实际的包名。此外,您的应用程序数据将存储在/data/data/com.android.phone.mymod下,而不是/data/ddata/com.andrid.phone下。

没有。在某些情况下,您可能还需要重命名AndroidManifest.xml文件中的提供者和权限的名称。

参考:

https://developer.android.com/studio/build/application-id

在AndroidStudio中创建新项目时,applicationId与安装过程中选择的Java风格包名称完全匹配。但是,应用程序ID和包名称在此之外彼此独立。您可以更改代码的包名称(代码名称空间),这不会影响应用程序ID,反之亦然(不过,再次声明,发布应用程序后,您不应更改应用程序ID)。但是,更改包名还有其他后果,您应该注意,因此请参阅有关如何更改包名的部分。

要在Android studio中重命名包名,请单击项目部分中的设置图标并取消选中压缩空中间包,然后包将拆分为多个文件夹名,然后右键单击需要更改名称的文件夹,单击refactor->rename->Type the name you want To change in->refactor-->refactor Directory,然后在整个项目中导入R.java文件。为我工作。

包装有两个目的。一个是在Google Play商店中唯一识别您的应用程序。另一个是为构建项目时生成的R.java类命名包。您可以将第一个目的看作外部包,第二个目的看作内部包。假设您想更改外部包,以便在Play商店中进行识别,有一种方便的方法可以做到这一点。

在Android Studio中,

 choose File -> Project Structure -> Choose your app's module -> Click on the 
 Flavors tab -> change the Application id.

现在,当您构建项目时,您的APK和清单将使用此新的包名称。

更改程序包名称


要重命名包名,只需转到AndroidManifest.xml文件,并将鼠标光标放在要更改的包名部分的前面。



右键单击>重构>重命名



在新窗口中,按Rename package



更改名称并按Refactor



…然后按底部的Do Refactor。



您的包名通常采用com.domain.appname格式;在本例中,我们更改了appname部分,但您也可以对域执行相同的步骤。

完成!您已更改包名称!

更新答案:2015年5月

好吧,我一直在努力在Android Studio中克隆和重命名项目,但最终我实现了这一目标。以下是需要遵循的步骤:

复制项目文件夹,重命名并用Android Studio打开从资源管理器重命名模块目录重命名projectName.iml和内容重命名idea/.name内容在项目窗格中,单击小齿轮图标->取消选中“压缩空中间包”为新的包名重构src目录(重命名包,“不重命名目录”)在build.gradle中重命名应用程序idsettings.gradle重命名模块

就是这样。。。