如何基于IntelliJ IDEA在新的IDE Android Studio中重命名程序包?
是否包含自动重构?
我想进行批量重构,但是我不知道如何做。我在Eclipse工作了两年,在Eclipse中是一键式操作。
如何基于IntelliJ IDEA在新的IDE Android Studio中重命名程序包?
是否包含自动重构?
我想进行批量重构,但是我不知道如何做。我在Eclipse工作了两年,在Eclipse中是一键式操作。
Answers:
例如,如果要更改com.example.app
为my.awesome.game
,则:
在“ 项目”窗格中,单击小齿轮图标()
取消选中/取消选择Compact Empty Middle Packages
选项
现在,您的软件包目录将在各个目录中分解
分别选择要重命名的每个目录,然后:
Refactor
Rename
Rename Package
代替“重命名目录”com
在Android Studio中重命名时,它可能会发出警告。在这种情况下,请选择“ 重命名”现在打开您的Gradle构建文件(build.gradle
-通常app
或mobile
)。如果尚未自动更新包applicationId
中的defaultConfig
,请将该中的更新为新的包名称和同步等级:
您可能需要更改package=
清单中的属性。
清理并重建。
做完了!无论如何,Android Studio需要使此过程更加简单。
com.example.test
到com.example
,然后删除com.example.test
。
另一个好方法是:首先创建一个新包与Java的文件夹→右键单击所需的名称新建 → 包装。
然后,选择所有类并将其拖到新包中。Android Studio将在任何地方重构程序包名称。
最后,删除旧软件包。
做完了
很重要:
如果使用此方法,则必须手动将AndroidManifest.xml和build.gradle文件更改为新软件包。
只需一步就可以很容易地更改应用程序ID(现在独立于程序包名称)。您无需触摸AndroidManifest。而是执行以下操作:
请注意,这不会更改程序包名称。软件包名称和应用程序ID的分离在这里说明:http : //tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename
com.example.sample
为com.example
使用其他答案
我用来重命名程序包名称的方法很简单,如下所示:
步骤1 :从Android Studio的左侧菜单中选择“项目”选项
第2步 :右键单击Java并添加一个新软件包并设置所需的软件包名称
步骤3 :输入新的套件名称
第4步 :复制旧包中的所有文件,然后粘贴到新包中
步骤5 :在清单文件中重命名包名称
步骤6 :在build.gradle文件中重命名包名称
第7步 :然后右键单击旧包,将其及其所有数据删除,并同时删除该目录
步骤8 :然后重建您的项目
第9步 :然后,您会在项目中发现旧的导入 软件包名称的错误。在任何文件中选择旧的软件包名称,然后按 CTRL + Shift + R,然后在替换框中输入新的软件包名称,然后按查找
步骤10 :然后出现一个弹出窗口,如下所示,然后从中选择All files(所有文件)选项。
步骤11 :再次重建您的项目,宾果游戏您的项目包名称已更改:)
将光标放在包名称中,如下所示。不要选择它,只需放置它。
然后按Shift+ F6,将出现一个弹出窗口,如下所示,选择 重命名软件包。
输入新名称,然后选择重构。(请注意,由于我的光标位于“某物”上,因此仅重命名了某物。)
完成了。
在“ 项目面板”上的软件包上单击鼠标右键。
从上下文菜单中选择“重构”->“重命名”。
IntelliJ IDEA有一个称为“紧凑空中间包”的选项。选择“ 项目”选项卡的选项图标,然后取消/激活它。
选择将被重构的软件包。重构 → 移动 → “将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坐在Project(Alt+1
或Command+1
快捷方式)那里,并且重命名目录重构正按您的期望在那里等待。
重构以重命名这些目录中的一个或多个,以实现您的目标。您在这里唯一要注意的是,当对话框询问您时,您必须选择目录而不是Packages。
如果您的项目中有很多类,那么将需要一些时间来等待其自动扫描和重命名。
此外,我想您需要在AndroidManifest.xml中手动重命名包名称,以便该文件中的其他名称可以使前缀受益。
[ALSO],可能需要您全部替换com.hello.world.R
为新的XXX.XXX.XXX.R
(Command+Shift+R
简称)
重建并运行您的项目以查看其是否有效。并使用“在路径中查找”来查找您要重命名的其他非触摸名称。
请务必参考Sheharyar的绝妙答案。随之而来的是太多的答案和评论,很容易造成困惑和放弃,但不要这样。这个答案有效。
简而言之,您要做三件事:
(1)取消选择Compact Empty Middle Packages
。
(2)Refactor
然后Rename
通过选择每个旧目录节点Change Package
(不 Change Directory
)来匹配新的程序包名称,。(请确保预览更改。)
(3)编辑build.gradle
文件并使APPLICATION_ID
新的程序包名称匹配。
更新答案:2015年5月
好的,我一直在为Android Studio中的克隆和重命名项目而苦苦挣扎,但最终我实现了它。以下是要遵循的步骤:
而已...
我找到了解决此问题的简便方法,它也更改了生成的导入,例如 com.test.testpackagechange.R
,仅需一分钟。
第一步是打开Android Studio并打开“替换所有”窗口(Mac:cmd + shift + R,我假设Windows:ctrl + shift + R)。输入您的旧软件包名称,然后输入新软件包名称下方的名称。单击查找。这可能需要一段时间,因为它也在浏览生成的项目。如果点击数超过1000,则只需单击继续。
完成此操作后,按“全部替换”将旧的软件包名称替换为新的软件包名称。
现在关闭Android Studio,然后转到Mac上的Finder或Windows上的Windows资源管理器。将文件夹的名称更改为新的程序包名称,如下所示:
现在再次打开Android Studio。Gradle将同步,您的包名称应更改为新的。
我发现这是最简单的一种,它涵盖了所有领域,例如生成的文件。
常见的错误,人们可以提出的是,即它是不可能改变一个不能重命名封装结构com.name.android到com.Renamed.android当一个人试图在修改com.name.android水平。
为了具有相同的所需更改,请向上一级即com.name,在此处重构时将其更改为Renamed。这将始终有效。
我发现了另一种可行的方法,或者对此处的某些答案采取了额外的步骤,特别是如果您也想更改域。它适用于Android Studio 1.4。这是我所做的:
build.gradle
文件,并将defaultConfig中的应用程序ID更改为与清单中的名称相同的名称,然后重新生成项目。因此,例如,如果要将“ com.example.app”重命名为“ com.YourDomain.app”,请在要重命名的包下打开一个文件,在包面包屑中,将光标设置为域的“ example”部分然后按Shift+,F6然后将包重命名为“ YourDomain”。
您的软件包名称将从所有Java文件和清单文件中更改。您必须从手动更改软件包名称build.gradle
。
变更套件名称
要重命名包名称,只需要做的就是转到AndroidManifest.xml
文件,将鼠标光标放在要更改的包名称部分的前面。
右键单击>重构>重命名
在新窗口中按重命名包
更改名称并按重构
…,然后按底部的“执行重构”。
您的软件包名称通常采用com.domain.appname格式,在此示例中,我们更改了appname部分,但是您也可以对域执行相同的步骤。
做完了!您更改了包裹名称!
我尝试了两个最受好评的解决方案,但是尽管它们在某种程度上都起作用,但还是发现了一些问题。
经过一些实验,我发现以下方法对我来说很好。
如果只需要更改包名称的最后一部分,请使用GreyBeardedGeek概述的方法,即
右键单击“项目”窗格中的包。从上下文菜单中选择“重构”->“重命名”
如果需要更改整个程序包名称,请执行以下操作。
右键单击“项目”窗格中的包。从上下文菜单中选择“重构”->“移动”
这将创建一个新的软件包文件夹(必要时),但将保留软件包名称的最后一部分。如果需要更改最后一部分,请进行相应的重命名。
还要注意,您可能需要在build.gradle,manifest和/或任何xml资源文件中,甚至在您的代码(如果经过硬编码)中修改包名称。完成所有这些之后,根据需要执行Sync / Clean / Rebuild项目。
如何重命名com.example.app
为com.android.app
:
在包装中com.example.app
选择示例
Shift + F6
选择 rename package
将示例重命名为android
确认 do refactor
右键单击包->重构并更改名称。
您也可以在清单中进行更改。有时,如果您更改软件包名称,但是在创建.apk文件后,它会显示一个不同的软件包名称。那时,请检查build.gradle文件中的“ applicationId” 。
我建议使用Sublime Text(或Notepad ++)。在... \ 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!
就这样:)
快速简便的方法:
1-打开MainActivity.java
或任何可用的Java文件。
顶部有包声明,例如:
包com。
example
.myapp;
选择要更改的软件包部分,然后按Shift + F6。我个人想更改example
。
在警告对话框中,选择“ 重命名程序包”,然后插入所需的程序包名称。
2-打开AndroidManifest.xml
并在内部<manifest>
标签将更package
改为所需的包装名称。
3-打开build.gradle(Module: app)
并更改applicationId
为所需的软件包名称。
请尝试以下步骤:
*******最后完成了******
第一部分由下创建一个新包的java
文件夹,然后选择从拖动所有源文件old package
到这个new package
。之后,您需要将remane
android中的包名称manifest
更改为新包的名称。
在第2步中,这是您需要做的。除了在中更改包名之外,您还需要在android studio applicationId
模块的模块下更改旧包名。因此,总而言之,单击“ AndroidManifest.xml”下面的哪个,然后将的值修改为新的程序包名称。build.gradle
manifest
build.gradle
applicationId
然后,在最下面build
。clean
然后,您的项目rebuild
。从这里开始应该没问题。
最好的方法是编写新的程序包名称,然后从旧的程序包名称中拖动。
第二种方法,如果单击“ 重构然后移动”选项,然后重命名程序包名称,它将重命名程序包名称,然后重新生成。
在Build.gradle中,您必须手动进行操作,如果您进行重构,则它不会在Build.gradle中重命名。