重命名Android Studio中的模块?


75

我为导入到Android Studio中的Gradle项目的特定模块选择了错误的名称。

在这种情况下,我想将module重命名Facebook1Facebook

这在Gradle项目中可行吗?


11
10个月后,重命名模块仍然无法正常工作。与我自己的应用相比,我花更多的时间在IDE的缺陷上。对Google感到羞耻。
Patrick

我只是通过关闭项目来重命名了我的根模块。重命名根目录/模块,然后重命名根目录中的* .iml文件。在那之后重新启动,它起作用了。
SamuelD

Answers:


133

Android Studio> = 1.4.1

  1. 右键单击模块->重构->重命名。
  2. 输入模块的新名称,然后单击“确定”。

旧版Android Studio

导入项目后,以下代码对我有效,并在Android Studio(AS)1.1和1.0.2中进行了测试。

在“ Android”树状视图(ATV)下,

  1. 右键单击模块名称:appRefactor-> Rename(到myApp,单击确定)

  2. 打开 settings.gradle

  3. 更改':app'':myApp',然后保存

  4. 系统将提示您“立即同步”,执行此操作(提示是文件上方的蓝色链接)

    您的项目将从ATV中消失,但是不用担心,只需退出AS即可

  5. 在文件管理器(Android Studio外部)中,打开项目的根目录,然后将文件夹重命名appmyApp

  6. 在AS中重新打开项目,您将看到模块和Gradle脚本重新出现在ATV下!:)

恭喜,您的模块现已重命名!(为什么要喝点茶)


1
谢谢。我写这篇文章的原因,也许是您为什么在这里,是因为目前没有合适的方法。@Scadge
T.Coutlakis 2015年

2
感谢您的解决方案。试图通过Android Studio的用户界面重命名应用模块的Google感到可惜,这使该项目陷于瘫痪。
myforums

1
@ T.Coutlakis简单的问题:步骤5必须直接在文件系统中完成吗?我做了与您相同的操作,但是省略了这一步骤,也许这是强制性的?-我在项目视图中,在“选择重构”对话框中选择了“重命名模块”,最后以不同于目录名称的模块名称命名。在项目中进行了一些更改之后,重构不再存在:/
Jose_GD 2015年

1
我可以用@Jose_GD确认从AS重命名模块,使子模块在AS中重命名,但是在文件系统中发生的所有情况都是创建了一个具有新名称的新文件夹,并将适当的iml文件插入了新创建的文件夹和旧模块的文件夹保持不变,除了要删除的iml。为了解决这个问题,我将旧文件夹的所有内容移到了新文件夹,然后删除了旧文件夹。然后我还必须删除include 'app',执行gradle同步,然后再次添加它,然后执行另一个gradle同步!因此,请勿从AS重命名模块!
reubenjohn

4
-1我在一个新创建的项目上执行此操作,步骤4永远不会发生,当我手动同步Gradle显示有关缺少模块应用程序的错误时,我关闭该项目,在文件系统上重命名,然后重新打开该项目,ATV上没有任何显示。恭喜,您已经浪费了一个小时,这是因为过时的StackOverflow答案和草率的Google开发人员无法将复杂的重命名操作放在IDE中。
Giulio Piancastelli,2015年

12

Android Studio 1.3.2,1
.在Android Studio中在左侧切换项目视图
2.右键单击要更改的模块->重构->重命名
3.同时执行“重命名目录”和“重命名模块”
4.打开设置。 gradle,更改模块名称
5. Build-> Clean Project


这是AS 1.3.2的正确答案。如果AS引发IOException,请确保未在编辑器或文件浏览器中打开项目中的所有文件。
塞巴斯蒂安

从Android Studio 2.1.1开始,这也是正确的,尽管仅重命名模块也会重命名目录。
Kenn Cal

从android studio 2.2开始,这仍然是正确的答案,如果您尝试在android视图中进行重构,它将不会自动重命名目录并导致丢失模块错误
Joe Maher

11

在Android Studio左侧的项目视图中,

  1. 右键单击要更改其名称的模块
  2. 选择“重构”->“重命名”
  3. 选择重命名模块选项
  4. 按照步骤1-2,然后再重命名目录

这不会重命名中的引用Project Structure。我仍然可以看到旧名称。因此,只有在Gradle不允许重命名的情况下,这才起作用。
sandalone 2014年

3
@sandalone,您还需要使用新的模块名称来更新settings.gradle文件
Ani Fichadia 2015年

1
当我们重命名模块选项时,目录名称也会更新。我刚试过
阿德南·阿里

@AdnanAli,这意味着此答案不是基于经验或其他东西,而是不合时宜的))
Farid

9

您可以手动执行此操作,无论是否更改文件夹结构(考虑不要更改它,以免对版本控制产生较小影响)

相应地更改文件夹名称

1-打开settings.gradle并更改模块名称(例如从':facebook1'':facebook'

2-相应地更改文件夹名称(从xxx/facebook1xxx/facebook

3-如果其他模块具有依赖关系:打开相应的模块build.gradle并更改依赖关系(从compile project(':facebook1')compile project(':facebook')

不更改文件夹名称

1-打开settings.gradle并更改模块名称(例如从':facebook1'':facebook'

2-在“ settings.gradle”上添加新行:

project(':facebook').projectDir = new File(settingsDir, '/facebook1')

3-如果其他模块具有依赖关系:打开相应的模块build.gradle并更改依赖关系(从compile project(':facebook1')compile project(':facebook')


2

在AndroidStudio 2.2.2中,仅通过refactor / rename重命名模块对我有用。(32位Linux Mint)

重命名对话框提供两个选项:“目录”或“模块”(单选按钮如此互斥,至少一次通过)。我不确定该选哪个,所以我在这里结束了寻找答案。一个答案说“两个都做”两个步骤,另一个答案说“先做模块,然后是目录”两个步骤。所以我首先选择了“模块”。令我惊讶的是,仅此而已,更改了模块和目录。一步一步也通过重构/重命名来更新settings.gradle。

还触发了“渐变同步”和“干净构建”。构建到我的平板电脑上后,无需抱怨名称更改。

只是添加此答案,以防其他2.2.2或更高版本的人不确定该选择哪个。同样要重申其他人的意见,请首先备份您的项目。


我遵循了这个步骤,但是随后必须编辑1)模块的.iml文件2)项目的.iml文件3)模块build.gradle 4)项目settings.gradle
WillC

... and 5)接受“从项目中删除模块[旧模块名称]” 6)使缓存无效并重新启动两次。YMMV。
WillC

2
  1. 关闭项目并重命名模块文件夹oldNamenewName然后打开项目并将模块名称更改include ':oldName'include ':newName'insettings.gradle

2

从Android Studio 3.4.1开始

重命名模块

  1. 在“项目”窗口中,右键单击模块,然后选择 Refactor > Rename
  2. 选择Rename module并按OK
  3. 输入新的模块名称,然后按 OK
  4. 重要信息 settings.gradle会自动更新。但是,您必须手动更新任何build.gradle依赖项以反映新的模块名称:
dependencies {
    // manually update this after renaming the module
    implementation project(':newmodulename')
}

重命名程序包以反映新的模块名称

  1. 在“项目”窗口中,右键单击所需的软件包,然后选择 Refactor > Rename
  2. 如果还有其他具有相同软件包名称(testandroidTest)的src集,将出现一个对话框,询问您是否也要重命名它们。如果是这样,请选择Rename package
  3. 输入新的软件包名称,然后按 Refactor
  4. Do Refactor在重构预览中选择

提示:选择File > Invalidate Caches / Restart此选项可修复由于重命名模块而导致的所有未解决的资源引用。


0

这在Android Studio 1.2.1.1中为我工作

前提:我不使用Android Studio的重构功能来重命名模块

这些是我执行的步骤:

  1. 重命名模块的文件夹(直接在文件系统中)
  2. 相应地修改setting.gradle文件(直接在文件系统中)
  3. 在Android Studio中打开项目

就这样。


第三步与第二步相同。此外,即使在AS 1.2.2中,这也不起作用,因此谁知道您真正使重命名起作用了。
Giulio Piancastelli,2015年

您正确的第二步和第三步是相等的(已编辑)。版本是1.2.1.1(mac os),而不是1.2.2。
Francesco Mameli

-2

不同的人似乎通过不同的方法获得了成功,但是当我想从以下项目重命名我的项目时:

com.example.myname.projectname

com.company.projectname

我尝试了一切,最终使它起作用的唯一方法是:

1)退出Android Studio 2)备份所有内容!(找到您的项目文件夹并进行复制)3)查找com.example.myname.projectname的所有实例并将其替换为com.company.projectname

请注意,有五个地方(实际上可能取决于您的项目,我有五个地方)需要重命名文件夹,因为它会创建名为com \ example \ myname \ projectname的子文件夹:

项目\应用程序\ src \主\ Java项目\应用程序\ src \ androidTest \ Java项目\应用程序\生成\源\ buildConfig \调试\项目\应用\生成\生成\源\ buildConfig \测试\项目\应用\构建\生成\源\ R \调试\

另外,在project.idea \中有一个名为workspace.xml的文件-在该文件中,您需要找到文本com \ example \ myname \ projectname

否则,请在项目目录中进行搜索以找到“ com.example.myname.projectname”,并替换为“ com.company.projectname”

4)再次打开Android Studio。如果初始项目目录名称相同(可能项目名称本身是否相同?),如果您上次打开过该目录,它将重新打开,否则应该可以正常打开。

5)转到文件-项目结构(CONTROL + ALT + SHIFT + S)。6)在“调味品”下,将应用程序ID更改为新名称。7)激活Android Studio并重新启动它。8)现在您应该可以构建您的项目了。9)去喝一杯,比原本应该付出的努力更多!

一个非常重要的注意事项,您的软件包名称中只能包含ASCII字母(您可以输入数字,但不能输入第一个字符)。Java本身允许数字以包名开头,但Android不允许:当开发人员名称以数字开头时,Android Studio中的包名?我试图重命名

我的解决方法(从我手机上的应用程序周围看,似乎是其他人在做的事情)是,如果您想在公司名称或应用程序名称的开头输入数字,请输入单词-而不是com.123company。 55project可能使用com.onetwothreecompany.fiftyfiveproject


这里的问题是指模块,而不是包名称。他们不一样
Jose_GD 2015年

好点,我的错!当我解决重命名项目的问题时遇到了这个问题,并认为我会有所帮助并发布我制定的解决方案。显然,我没有正确阅读它,对不起!
昆丁
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.