Android Studio重命名包

如何在新的IDE Android Studio中重新命名包,基于intelijj?

是否有自动重构?

我想做批量重构,但我不知道如何。 我在eclipse和eclipse上工作了2年,这是一个单击操作。

在Android Studio中,您可以这样做:

例如,如果您想将com.example.app更改为my.awesome.game ,那么:

  1. 在您的“ 项目”窗格中 ,单击小齿轮图标( 齿轮图标

  2. 取消选中/取消selectCompact Empty Middle Packages选项

紧凑的空中间包

  1. 你的软件包目录现在将被分解到各个目录中

  2. 单独select要重命名的每个目录,然后:

    • 用鼠标右键单击它
    • selectRefactor
    • 点击Rename
    • 在popup对话框中,单击Rename Package而不是重命名目录
    • input新名称,然后点击重构
    • 点击底部的重构
    • 稍等片刻,让Android Studio更新所有更改
    • 注意:在Android Studio中重命名com时,可能会发出警告。 在这种情况下,请select 全部重命名

在这里输入图像描述

  1. 现在打开你的Gradle构build文件build.gradle – 通常是appmobile )。 将applicationId更新为新的Package Name和Sync Gradle,如果它尚未自动更新:

重构目录

  1. 完成! 无论如何,Android Studio需要使这个过程更简单一些。

另一个好方法是:首先通过右键单击java文件夹 – >新build – >包来创build一个具有所需名称的新包。

然后,select并拖动所有的类到新的包。 AndroidStudio将重构包名到处。

最后,删除旧的包。

完成。

还有一件事很重要

如果使用此方法,则必须手动将Android Manifest和Gradle文件更改为新的包。

这一步可以很容易地完成。 您不必触摸AndroidManifest。 而是执行以下操作:

  1. 右键单击项目的根文件夹。
  2. 点击“打开模块设置”。
  3. 转到Flavors选项卡。
  4. 将applicationID更改为所需的任何软件包名称。 按OK。

Package Name和Application ID的解耦在这里解释: http : //tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename

在“ 项目”面板上右键单击包。

从上下文菜单中select重构 – >重命名。

  1. 转到你的AndroidManifest.xml。
  2. 将光标置于下面显示的包名称中,不要选中它就放置它。

在这里输入图像描述

  1. 然后按shift+F6你会得到一个popup窗口,如下所示select重命名包

在这里输入图像描述

  1. input您的新名称,然后select重构 。 (注意,因为我的光标在“某些东西”只有东西被重命名。)

就这样完成了。

我用来重命名包名的方法很简单,如下所示:

第1步 :从Android Studio的左侧菜单中select项目选项

在这里输入图像描述

第2步 :右键单击java并添加一个新的软件包并设置所需的软件包名称

在这里输入图像描述

第3步 :input新的软件包名称

在这里输入图像描述

第4步 :复制旧包中的所有文件并粘贴到新包中

在这里输入图像描述

第5步 :重命名清单文件中的软件包名称

在这里输入图像描述

第6步 :在build.gradle文件中重命名包名

在这里输入图像描述

第7步 :然后右键单击旧包,并删除它的所有数据,并删除该目录以及

在这里输入图像描述

第8步 :然后重build您的项目

在这里输入图像描述

第9步 :然后你会发现项目中的旧导入包名的一些错误在任何文件中select旧的包名,然后按 CTRL + SHIFT + R ,然后在replace框中input新的包名,然后按查找

在这里输入图像描述

第10步 :然后popup如下所示,并从中select所有文件选项

在这里输入图像描述

第11步 :重新生成你的项目,宾果你的项目包名已被改变:)

(1)

打开文件:

app >>清单>> AndroidManifest.xml

在这里输入图像描述

突出显示要修改的软件包名称中的每个部分(不要突出显示整个软件包名称),然后:

  • 鼠标右键单击>>重构>>重命名>>重命名包
  • 键入新名称并按(重构)

在包名的每个部分执行这些步骤

在这里输入图像描述

(2)

打开(Gradle脚本)>>(build.gradle(Modul:app))

并将applicationId更新为包名

在这里输入图像描述

(3)

打开菜单(build)并select(Rebuild Project)

Intelli J有一个叫做“Compact Empty Middle Packages”的选项。 select项目选项卡的选项 – 图标,并取消/激活。

请参阅: 我如何更改IntelliJ中的顶级包名称

select包将被重构,重构 – >移动 – >“将xxx移动到新包”

如果你的软件包名称是两个以上的点分隔的,说com.hello.world ,而且你没有把任何东西放在com/com/hello/ 。 所有的类都放到com/hello/world/ ,你可以按照以下步骤在Android Studio或IntelliJ中重构你的包名:

  • [第一]在你的目录下添加一些东西( com/com/hello/ )。 你可以通过首先将两个文件添加到com.hello.world中来实现
  com.hello.world.PackageInfo1.java com.hello.world.PackageInfo2.java 

然后分别将它们重构为com和com.hello。 您会在项目中看到com和com.hello(快捷键为Alt+1Command+1 ),重命名目录重构正在等待您的预期。

  • 重构重命名一个或多个这些目录来达到你的目的。 你应该注意到的唯一的事情就是当对话问你时,你必须select目录而不是软件包。

  • 如果您的项目中有很多类,则需要一段时间才能等待其自动扫描和重命名。

  • 此外,您需要手动重命名AndroidManifest.xml中的包名,我猜,这个文件中的其他名称可以使前缀受益。

  • [ALSO] ,它可能需要你replace所有的com.hello.world.R到新的XXX.XXX.XXX.RCommand+Shift+R

  • 重build并运行你的项目,看它是否工作。 然后使用“在path中查找”来查找您想要重命名的其他非触摸名称。

  • 好好享受。

我已经看到了最高票的答案,但我发现有点不同,做这个,我尝试做最完整的教程。

从Android Studio中点击齿轮图标( 齿轮图标 ),然后select"Compact Empty Middle Packages"选项,查看以树视图分隔的文件夹。

介绍了描述和图片

现在select文件夹,点击右键打开上下文菜单,selectRefactor ,然后Rename

介绍了描述和图片

您将被build议重构包装:

介绍了描述和图片

然后一个窗口会显示该项目内的巧合,select"Do Refactor"

介绍了描述和图片

我们不需要手动更改AndroidManifest.xml或build.gradle文件,重构包就可以完成工作!

更新回答:2015年5月

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

  1. 复制项目文件夹,重命名并用Android Studio打开它
  2. 从资源pipe理器重命名模块目录
  3. 重命名projectName.iml和内容
  4. 重命名想法/ .name内容
  5. 在您的项目窗格中,点击小齿轮图标 – >取消选中“精简空中间包”
  6. 为新的包名重新创buildsrc目录(重命名包,“不重命名目录”)
  7. 在build.gradle重命名应用程序ID
  8. settings.gradle重命名模块

而已…

我尝试了两个顶级投票解决scheme,但发现一些问题,即使这两个工作在一定程度上。

  • 列表项:新的包拖放方法留下一些不变,并产生一些不良影响
  • 列表项:重命名包只更改包名的最后一部分

经过一些实验后,我发现下面的方法对我很好。

如果您只需要更改软件包名称的最后部分,请使用GreyBeardedGeek概述的方法即

在“项目”窗格中右键单击包。 从上下文菜单中select重构 – >重命名

如果您需要更改整个软件包名称,请执行以下操作。

在“项目”窗格中右键单击包。 从上下文菜单中select重构 – >移动

这将创build一个新的包文件夹(必要时),但会像以前一样保留包名的最后一部分。 如果您需要更改最后一部分,请相应地重命名。

还要注意的是,你可能需要在build.gradle,manifest和/或任何xml资源文件中修改软件包名称,如果硬编码,甚至在你的代码中。 毕竟,根据需要做同步/清理/重build项目。

人们常犯的错误是无法重命名包结构,即当com.name.android level尝试修改com.name.android到com.Renamed.android是不可能的。

为了有相同的期望的变化去一级,即com.name和这里当你重构改变它重命名。 这将始终工作

右键单击包 – >重构并更改名称。 您也可以在清单中更改它。 有时如果你改变软件包名称,但创buildapk之后,它会显示当时不同的软件包名称,请检查build.gradle文件中的“applicationId”。

我发现了另一种方法,或者在这里find了一些解决办法,特别是如果你想改变域名的话。 在Android Studio 1.4中工作。 这就是我所做的:

  1. 打开Manifest.xml并将包名称更改为所需内容。
  2. 打开您的应用程序build.gradle文件并将defaultConfig中的应用程序标识更改为与清单中相同的名称并重build项目。
  3. 如果仍然有问题,请打开包名下的文件,去包裹面包屑(即文件头部的包声明),并将光标设置到您想要更改的域名,然后点击“Shift + F6”,它会出来一个对话框有多个使用警告,点击“重命名包”,然后点击“重构”,它应该重命名包括R.Java文件在内的所有东西。

所以例如,如果你想重命名“com.example.app”到“com.YourDomain.app”,打开一个文件包下的要重命名,在包breadcrumbs中,将光标设置为域的“example”部分然后按Shift + F6并将程序包重命名为“YourDomain”。

希望这可以帮助 :)

我find了一个更简单的方法来解决这个问题,它也改变了生成的导入,比如com.test.testpackagechange.R ,只需要一分钟左右的时间。

你的第一步是打开Android Studio并打开replace所有窗口(Mac:cmd + shift + R,Windows我假设:ctrl + shift + R)。 input旧的软件包名称,并在新的软件包名称下面input。 点击查找。 这可能需要一段时间,因为它也在查看生成的项目。 如果它有超过1000个点击,只需点击继续。

在这里输入图像描述

完成后,按“全部replace”以将新的包名replace为新包名。

在这里输入图像描述

现在closuresAndroid Studio,然后转到Mac上的Finder或Windows上的Windows资源pipe理器。 将文件夹的名称更改为新的软件包名称,如下所示:

在这里输入图像描述

现在再次打开Android Studio。 Gradle将同步,您的包名称应该更改为新的。

我发现这是最容易的一个,涵盖所有领域,如生成的文件。

第一部分包括在“java”文件夹下创build一个新的包,然后select,然后将旧包中的所有源文件拖到这个新包中。 之后,您需要将Android清单中的包名称保留为新包的名称。

在步骤2中,您需要做的是。您需要更改android studio中模块“build.gradle”下的“applicationId”中的旧软件包名称,以及更改清单中的软件包名称。 总之,点击“AndroidManifest.xml”下方的“build.gradle”,并将“applicationId”的值修改为新的包名称。

然后,在最上面,在“构build”下。 清理你的项目,然后重build。 从这里应该没问题。

包有两个目的。 一种是在Google Play商店中唯一标识您的应用。 另一种是命名生成项目时生成的R.java类的包。 你可以把第一个目的看作是外部包,第二个目标是内部包。 假设您想要更改外部软件包,以便您可以在Play商店中识别,则有一种方便的方法来执行此操作。

在Android Studio中,select“文件”>“项目结构”>“select您的应用程序的模块”>单击“风味”选项卡>更改应用程序ID。 现在,当你build立你的项目,你的APK和清单将使用这个新的包名称。

我相信你在寻找的是Refactor> Move。 您也可以按F6。

你会得到两个popup窗口。 确保你select两个重命名包。 之后你会popup一个新的包名称。

请注意,如果你的包的名字是com.example.android.projectname,那么你可以把com.example.android改成别的东西。

还有一件事,这将会更新build.gradle中的applicationId。 只要确保“在评论和stringsearch”和“search文本发生”checkbox都检查它的工作。

编写新软件包名称并从旧软件包名称拖放的最佳方法。 第二种方法,如果你点击Refactor,然后移动选项,然后重命名包名,它将重命名包名,然后重build。

在Build.gradle你必须手动做,如果你重构那么它不会在Build.gradle重命名。

一定要回到Sheharyar的答案开始In Android Studio, you can do this:因为它是伟大的。 有这么多的答案和评论后,它会很容易混淆和放弃,但不。 答案是有效的。

总之,你做三件事:

取消selectCompact Empty Middle Packages

Refactor通过selectCHANGE PACKAGE不是目录)来Rename每个旧的目录节点以匹配新的包名称。 (请务必预览更改。)

编辑build.gradle文件并使APPLICATION_ID匹配新的软件包名称。

快速简单的方法:

1-打开MainActivity.java或任何可用的java文件。

在顶部有包声明,如:

包com。 example .myapp;

select要更改的包部分,然后按Shift + F6 。 我个人想改变这个example

在警告对话框中,select重命名包 ,然后插入所需的包名称。

2-打开AndroidManifest.xml并在<manifest>标签内将package更改为所需的包名称。

3-打开build.gradle(Module: app)并将applicationId更改为所需的软件包名称。

  1. 在Java文件夹中select包名。
  2. Shift + F6
  3. 更改软件包名称并单击确定。

您的软件包名称将从所有Java文件和清单文件中更改。 您必须从build.gradle手动更改软件包名称

请尝试以下步骤:

  1. 点击设置齿轮图标,取消selectCompact Empty Middle Package
  2. 现在我们可以看到每个包文件夹被分解成几部分
  3. 现在右键单击第一个包文件夹>>> refactor >>> rename
  4. 现在会显示警告,但您继续并单击重命名包
  5. 之后input您的域名的包名称
  6. 点击“重构”
  7. 现在它已经改变了App的包域名。 现在根据您的要求更改域扩展名和应用程序文件夹名称
  8. 现在在Gradle脚本中打开build.gradle(Module:app)。 这里更改应用程序ID并单击立即同步。

*******最后它已经完成了******

我build议使用Sublime Text(或Notepad ++)。 replace… \ Projects [MyProject]中的com.one.lastname – > com.two.newname和com / one / lastname – > com / two / newname。 并且不要忘记重命名… \ Projects \ MyProject \ app \ src \ main \ java \ com \ one \ lastname,… \ Projects \ MyProject \ app \ src \ test \ java \ com \ one \ lastname和… \ Projects \ MyProject \ app \ src \ androidTest \ java \ com \ one \ lastname! 就这样:) 截图

对于我来说,即使是在所有相关的模块中,对于我想要在包中修改的文件夹名称,即使对于更改事件也是如此,但对于我来说, 只有遵循以下步骤才能正常工作:

  • A – 如果要更改根文件夹的名称(换句话说,文件夹的名称是包中主要用于包含主要活动的文件夹的名称),则可以执行以下步骤(B到C) 之前之后执行退出“Android Studio”并手动重命名此根文件夹。 点击“导入项目…”,然后点击项目的新名称(此导入过程将自动重新调整项目文件中的“Gradle”文件。)
  • B – 下面的C步骤之前 ,不要忘记通过在以下3个文件中更改它们来手工修改要更改的文件夹的名称:“AndroidManifest.xml”,“MainActivity.java”(或名称最终select你的第一个活动)和“build.gradle(Module:app)”文件。
  • C – 按照上述步骤1至6(“在您的项目窗格中,单击小齿轮图标…”) – > https://stackoverflow.com/a/29092698/2001610
  • D – 仅当您想要更改根文件夹的名称时,可以按照上述的“A”过程进行操作。

3年后的额外答案,当然,如果以前不适合你,因为“某事”。

  • 转到项目path>你在哪里findjava文件和包
  • 创build新文件夹,例如com> super_package>活动
  • Android Studio将刷新项目结构
  • 将所有的Java文件移动到新的文件夹
  • 删除旧的文件夹
  • 编辑>查找>replacepath:
  • 将旧的软件包名称更改为新的
  • 在清单中也改变并build立一个gradle

完成!

在您按照这些技术之一重新命名您的软件包之后,您可能会看到错误。

如果你的R.java得不到正确的生成,你会在你的项目中得到很多错误,说error: cannot find symbol class R ,也error: package R does not exist

记得检查你的应用程序清单xml。 清单包名称必须与实际的包名称匹配 。 似乎R.java是从应用程序清单生成的,如果有不匹配的话,会导致这些错误。

请记住检查<manifest package="com.yourcompany.coolapp">package属性匹配

  1. select选项 在这里输入图像描述

  2. 取消选中Compact Empty Middle Packages选项。

  3. select你想改变的目录(我select了步骤6中显示的'crl')。
  4. Shift + F6
  5. 重命名包
  6. 将目录crl重命名为crl1 在这里输入图像描述

  7. 最后点击下图中标记的Do Refactorbutton 在这里输入图像描述 在此处input代码

  8. 完成更改后 在这里输入图像描述