如何在基于IntelliJ IDEA的新IDE Android Studio中重命名包?
是否包含自动重构?
我想进行批量重构,但我不知道如何 . 我在Eclipse工作了两年,在Eclipse中工作了一次 .
更改 application ID (现在独立于包名称)可以在一个步骤中轻松完成 . 您不必触摸AndroidManifest . 而是执行以下操作:
右键单击项目的根文件夹 .
单击"Open Module Setting" .
转到Flavors选项卡 .
将applicationID更改为您想要的任何包名称 . 按确定 .
请注意,这不会更改包名称 . 这里解释了包名称和应用程序ID的分离:http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename
我尝试了两个最高投票的解决方案,但发现了一些问题,尽管两者都有一定的作用 .
列表项:新的package-drag-drop方法保留一些不变并产生一些不良效果
列表项:重命名包仅更改包名称的最后一部分
经过一些实验,我发现以下方法对我来说效果很好 .
如果您只需要更改包名称的最后一部分,请使用GreyBeardedGeek概述的方法,即
在“项目”窗格中右键单击该包 . 从上下文菜单中选择Refactor - > Rename
如果需要更改整个软件包名称,请执行以下操作 .
在“项目”窗格中右键单击该包 . 从上下文菜单中选择Refactor - > Move
这将创建一个新的包文件夹(必要时),但将像以前一样保留包名的最后一部分 . 如果您需要更改最后一部分,请相应地重命名 .
另请注意,您可能需要修改包名称,例如: build.gradle,manifest和/或任何xml资源文件,甚至在硬编码的代码中 . 毕竟,根据需要执行同步/清理/重建项目 .
一定要回到Sheharyar的答案,该答案从 In Android Studio, you can do this: 开始,因为它's GREAT. There are so many Answers and comments that follow it that it would be easy to get confused and give up, but DON' T.答案工作 .
In Android Studio, you can do this:
简而言之,你做了三件事:
取消选择 Compact Empty Middle Packages .
Compact Empty Middle Packages
Refactor Rename 每个旧目录节点选择CHANGE PACKAGE (不是目录)以匹配新包名称 . (务必预览更改 . )
Refactor
Rename
编辑 build.gradle 文件并使 APPLICATION_ID 与新包名称匹配 .
build.gradle
APPLICATION_ID
我找到了一种更容易解决这个问题的方法,它也改变了生成的导入,如 com.test.testpackagechange.R ,只需要大约一分钟 .
com.test.testpackagechange.R
您的第一步是打开Android Studio并打开替换所有窗口(Mac:cmd shift R,Windows我假设:ctrl shift R) . 键入旧包名称和新包名称下面的名称 . 单击查找 . 这可能需要一段时间,因为它也在查看生成的项目 . 如果它有超过1000次点击,只需单击继续 .
完成后,按“全部替换”将旧包名替换为新包名 .
现在关闭Android Studio并转到Mac上的Finder或Windows上的Windows资源管理器 . 将文件夹的名称更改为新的包名称,如下所示:
现在再次打开Android Studio . Gradle将同步,您的包名称应更改为新名称 .
我发现这是最容易的,也是覆盖生成文件等所有领域的 .
选择要重构的包 . 重构→移动→"Move xxx to new package" .
ctrl Shift R一直对我有用 . 只需 replace all 并选择 All Files .
replace all
All Files
右键单击 Project Panel 处的包 .
从上下文菜单中选择Refactor - > Rename .
包有两个目的 . 一种是在Google Play商店中唯一标识您的应用 . 另一种是为构建项目时生成的 R.java class 命名包 . 您可以将第一个目的视为外部包,第二个目标视为内部包 . 假设您要更改外部程序包以便在Play商店中进行识别,则可以通过这种方式进行操作 .
In Android Studio,
choose File -> Project Structure -> Choose your app's module -> Click on the Flavors tab -> change the Application id.
现在,当您构建项目时,您的APK和清单将使用此新包名称 .
在您使用其中一种技术重命名包之后,您可能会开始看到错误 .
如果/当您的R.java未正确生成时,您的项目中会出现很多错误,如 error: cannot find symbol class R 以及 error: package R does not exist .
error: cannot find symbol class R
error: package R does not exist
请记住检查您的应用程序清单xml . 清单包名 must match 实际包名 . 看起来R.java是从Application Manifest生成的,如果不匹配会导致这些错误 .
请记住检查 <manifest package="com.yourcompany.coolapp"> 中的 package 属性匹配项
<manifest package="com.yourcompany.coolapp">
package
在Java文件夹中选择包名称 .
Shift F6
更改包名称,然后单击“确定” .
您的包名将从所有java文件和Manifest文件中更改 . 您必须从build.gradle手动更改包名称
另一个好方法是:首先通过右键单击创建一个具有所需名称的新包Java文件夹→新建→包 .
然后,选择并将所有类拖到新包中 . Android Studio将在任何地方重构包名称 .
最后,删除旧包 .
完成 .
Very important:
如果使用此方法,则必须手动将 AndroidManifest.xml 和 build.gradle 文件更改为新包 .
第一部分包括在“java”文件夹下创建一个新包,然后选择然后将所有源文件从旧包拖到这个新包中 . 之后,您需要将android清单中的软件包名称重新保存为新软件包的名称 .
在第2步中,您需要执行以下操作 . 除了更改清单中的包名称外,您还需要在android studio中的“build.gradle”模块下的“applicationId”中更改旧包名称 . 总而言之,单击“AndroidManifest.xml”下面的“build.gradle”,并将“applicationId”的值修改为新的包名 .
然后,在最顶层,在“构建”下 . 清理您的项目,然后重建 . 从这里开始应该没问题 .
请尝试以下步骤:
单击设置齿轮图标并取消选择Compact Empty Middle Package
现在我们可以看到每个包文件夹都被分成几部分
现在右键单击第一个包文件夹>>>重构>>>重命名
现在将显示一条警告,但您继续并单击“重命名包”
之后输入包名称的域名
点击'Do Refactor'
现在它已经更改了App的包域名 . 现在根据您的要求更改域扩展名和App文件夹名称
现在在Gradle Scripts中打开build.gradle(Module:app) . 在此处更改应用程序ID,然后单击立即同步 .
*最后完成了
我找到了另一种方法,或者在这里有一些额外的步骤,特别是如果你想改变域名的话 . 适用于android studio 1.4 . 这就是我做的:
打开Manifest.xml并将包名更改为您想要的名称 .
打开您的app build.gradle文件,并将defaultConfig中的Application Id更改为与manifest中相同的名称并重建项目 .
如果仍然问题,打开包名称下的文件,转到包breadcrumbs(即文件头部的包声明)并将光标设置到你要更改的域并点击"Shift + F6",它会出现一个对话框多次使用警告,单击"Rename packages",然后单击"Do Refactor"它应重命名包括R.Java文件在内的所有内容 .
所以例如,如果要将“com.example.app”重命名为“com.YourDomain.app”,打开要重命名的包下的文件,在包breadcrumbs中,将光标设置为域的“示例”部分然后按Shift F6并将包重命名为“YourDomain” .
希望这可以帮助 :)
例如,如果要将 com.example.app 更改为 my.awesome.game ,则:
com.example.app
my.awesome.game
在 Project pane 中,单击小齿轮图标()
取消选中/取消选择 Compact Empty Middle Packages 选项
您的包目录现在将在各个目录中分解
单独选择要重命名的每个目录,并:
右键单击它
选择 Refactor
点击 Rename
在弹出对话框中,单击 Rename Package 而不是重命名目录
Rename Package
输入新名称,然后按 Refactor
单击底部的 Do Refactor
等一下让Android Studio更新所有更改
注意:在Android Studio中重命名 com 时,它可能会发出警告 . 在这种情况下,请选择 Rename All
com
app
mobile
defaultConfig
applicationId
您可能需要更改清单中的 package= 属性 .
package=
清洁和重建 .
Done! 无论如何,Android Studio需要使这个过程更简单一些 .
我已经看到了最高投票的答案,但我发现这样做有点不同,我尝试做最完整的教程 .
在Android Studio中单击齿轮图标(),然后选择选项: "Compact Empty Middle Packages" ,以查看在树状视图中分隔的文件夹 .
"Compact Empty Middle Packages"
现在选择文件夹,单击右键打开上下文菜单,选择 Refactor 然后选择 Rename
建议您重构包裹:
然后一个窗口将显示proyect内部的巧合,选择 "Do Refactor" :
We don´t have to change manually the AndroidManifest.xml or build.gradle files, Refactoring the package will do the job!.
我相信你要找的是Refactor> Move . 您也可以按F6 .
你会得到两个弹出窗口 . 确保在两者上选择重命名包 . 之后,您将弹出一个新的包名称 .
请注意,如果您的软件包名称是com.example.android.projectname,那么这将允许您将com.example.android更改为其他名称 .
还有一件事,这会更新你的applicationIdbuild.gradle也是如此 . 只需确保选中“在注释和字符串中搜索”和“搜索文本事件”的复选框,以使其正常工作 .
3年后的补充答案,当然,如果以前任何不适合你,因为“东西” .
转到项目路径>您找到java文件和包的位置
创建新文件夹,例如com> super_package> activities
Android Studio将刷新项目结构
将所有Java文件移动到新文件夹
删除旧文件夹
编辑>查找>替换路径:
将旧包名更改为新包
也在清单和构建gradle中更改
完成!
快速简便的方法:
1-打开 MainActivity.java 或任何可用的java文件 .
MainActivity.java
在顶部有包裹声明,例如:
package com.example.myapp;
选择要更改的包部分,然后按 Shift+F6 . 我个人想改变 example .
example
在警告对话框中,选择 Rename package ,然后插入所需的包名称 .
2-打开 AndroidManifest.xml 并在 <manifest> 标签内将 package 更改为所需的包名称 .
AndroidManifest.xml
<manifest>
3-打开 build.gradle(Module: app) 并将 applicationId 更改为所需的包名称 .
build.gradle(Module: app)
Updated answer: May 2015
好吧,我一直在努力克隆和重命名Android Studio中的项目,但最后我实现了它 . 以下是要遵循的步骤:
复制项目文件夹,重命名并使用Android Studio打开它
从资源管理器重命名模块目录
重命名projectName.iml和内容
重命名idea / .name内容
在项目窗格中,单击小齿轮图标 - >取消选中"Compact Empty Middle Package"
为新包名重构src目录(重命名包,"not rename directory")
在build.gradle中重命名应用程序ID
settings.gradle重命名模块
而已...
如果您的包名称超过两个点,请说 com.hello.world 而且,您没有在 com/ 和 com/hello/ 中放置任何内容 . 您的所有课程都在 com/hello/world/ 中,您可以按照以下步骤在Android Studio或IntelliJ中重构您的包名称:
com.hello.world
com/
com/hello/
com/hello/world/
com.hello.world.PackageInfo1.javacom.hello.world.PackageInfo2.java
然后分别通过将它们移动到com和com.hello来重构它们 . 您将看到com和com.hello坐在项目中( Alt+1 或 Command+1 表示快捷方式)并重命名目录重构正在按预期等待 .
Alt+1
Command+1
重构以重命名这些目录中的一个或多个以达到您的目标 . 这里你唯一应该注意的是,当对话框问你时,你必须选择目录而不是包 .
如果您的项目中有很多课程,则需要一段时间才能等待其自动扫描和重命名 .
此外,您需要手动重命名AndroidManifest.xml中的包名称,我想,这样该文件中的其他名称可以使前缀受益 .
[ALSO] ,它可能需要您将所有 com.hello.world.R 替换为新的 XXX.XXX.XXX.R (简称 Command+Shift+R )
com.hello.world.R
XXX.XXX.XXX.R
Command+Shift+R
重建并运行您的项目以查看它是否有效 . 并使用“在路径中查找”查找您要重命名的其他非触摸名称 .
享受吧 .
这对我来说非常有用,即使是在所有相关模块中更改了我想在包中修改的文件夹名称,但对我来说,只有按照以下步骤操作它才能正常工作:
A - 如果要更改根文件夹的名称(换句话说,文件夹的名称在包中正常使用以包含主体活动),可以在以下步骤之前或之后执行(B到C)退出"Android Studio"并手动重命名此根文件夹 . 在"Import project..."之后单击,然后在项目的新名称上单击(此导入过程将自动使用项目文件重新调整'Gradle'文件 . )
B - 在接下来的C步骤之前,通过在以下3个文件中更改它们来删除要更改的名称:'AndroidManifest.xml','MainActivity.java'(或您最终为第一个活动选择的名称)和'build.gradle (Module: app)'文件 .
C - 按照上述步骤1至6("In your Project pane, click on the little gear icon...") - > https://stackoverflow.com/a/29092698/2001610进行操作
D - 仅当您想要立即更改根文件夹的名称时,您可以按照'A'进程进行操作,如上所述 .
我用来重命名包名的方法很简单如下: -
Step 1 :从Android Studio的左侧菜单中选择“项目”选项
Step 2 :右键单击java并添加一个新包并设置所需的包名称
Step 3 :输入新的包名称
Step 4 :复制旧包中的所有文件并粘贴到新包中
Step 5 :重命名清单文件中的包名称
Step 6 :在build.gradle文件中重命名包名称
Step 7 :然后右键单击旧包并将其全部删除,并删除该目录
Step 8 :然后重建您的项目
Step 9 :然后您会在项目 Select the old package name in any file and press CTRL + Shift + R 中找到旧导入包名称的一些错误,并在替换框中输入新包名称,然后按查找
Step 10 :然后弹出如下所示,并从中选择所有文件选项
Step 11 :再次重建您的项目,宾果您的项目包名已被更改:)
(1)
打开文件:
app >> manifests >> AndroidManifest.xml
突出显示要修改的包名称中的每个部分(不要突出显示整个包名称),然后:
鼠标右键单击>>重构>>重命名>>重命名包
输入新名称并按(重构)
在包名称的每个部分中执行这些步骤
(2)
打开(Gradle Script)>>(build.gradle(模块:app))
并将applicationId更新为您的包名称
(3)
打开菜单(构建)并选择(重建项目)
人们可以犯的常见错误是无法重命名包结构,但是当尝试在com.name.android级别修改时,无法将com.name.android更改为com.Renamed.android .
为了获得相同的所需更改,请升级一级,即com.name,此时重构时将其更改为重命名 . 这将始终有效
编写新包名称并从旧包名称拖动的最佳方法 . 第二种方法,如果单击Refactor然后移动选项,然后重命名包名称,它将重命名包名称,然后重建 .
在Build.gradle中你必须手动完成,如果你重构,那么它将不会在Build.gradle中重命名 .
右键单击包 - >重构并更改名称 . 您也可以在清单中更改它 . 有时如果你更改包名但在创建apk后它会显示不同的包名,请检查build.gradle文件中的“applicationId” .
我建议使用Sublime Text(或Notepad) . 在... \ Projects [MyProject]中替换com.one.lastname - > com.two.newname和com / one / lastname - > com / two / newname . 并且不要't forget to rename ...\Projects\MyProject\app\src\main\java\com\one\lastname, ...\Projects\MyProject\app\src\test\java\com\one\lastname and ...\Projects\MyProject\app\src\androidTest\java\com\one\lastname! That'全部:)
转到您的AndroidManifest.xml .
将光标放在包名称中,如下图所示,不要选择它只是放置它 .
然后按 shift+F6 您将看到如下所示的弹出窗口,选择 Rename package .
shift+F6
输入新名称并选择 Refactor . (注意,因为我的光标在"something"上,所以只重命名了 . )
就是这样 .
IntelliJ IDEA有一个名为"Compact Empty Middle Packages"的选项 . 选择“项目”选项卡的选项图标,然后取消激活它 .
见:How can I change top level package name in IntelliJ IDEA?
30 回答
更改 application ID (现在独立于包名称)可以在一个步骤中轻松完成 . 您不必触摸AndroidManifest . 而是执行以下操作:
右键单击项目的根文件夹 .
单击"Open Module Setting" .
转到Flavors选项卡 .
将applicationID更改为您想要的任何包名称 . 按确定 .
请注意,这不会更改包名称 . 这里解释了包名称和应用程序ID的分离:http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename
我尝试了两个最高投票的解决方案,但发现了一些问题,尽管两者都有一定的作用 .
列表项:新的package-drag-drop方法保留一些不变并产生一些不良效果
列表项:重命名包仅更改包名称的最后一部分
经过一些实验,我发现以下方法对我来说效果很好 .
如果您只需要更改包名称的最后一部分,请使用GreyBeardedGeek概述的方法,即
在“项目”窗格中右键单击该包 . 从上下文菜单中选择Refactor - > Rename
如果需要更改整个软件包名称,请执行以下操作 .
在“项目”窗格中右键单击该包 . 从上下文菜单中选择Refactor - > Move
这将创建一个新的包文件夹(必要时),但将像以前一样保留包名的最后一部分 . 如果您需要更改最后一部分,请相应地重命名 .
另请注意,您可能需要修改包名称,例如: build.gradle,manifest和/或任何xml资源文件,甚至在硬编码的代码中 . 毕竟,根据需要执行同步/清理/重建项目 .
一定要回到Sheharyar的答案,该答案从
In Android Studio, you can do this:
开始,因为它's GREAT. There are so many Answers and comments that follow it that it would be easy to get confused and give up, but DON' T.答案工作 .简而言之,你做了三件事:
取消选择
Compact Empty Middle Packages
.Refactor
Rename
每个旧目录节点选择CHANGE PACKAGE (不是目录)以匹配新包名称 . (务必预览更改 . )编辑
build.gradle
文件并使APPLICATION_ID
与新包名称匹配 .我找到了一种更容易解决这个问题的方法,它也改变了生成的导入,如
com.test.testpackagechange.R
,只需要大约一分钟 .您的第一步是打开Android Studio并打开替换所有窗口(Mac:cmd shift R,Windows我假设:ctrl shift R) . 键入旧包名称和新包名称下面的名称 . 单击查找 . 这可能需要一段时间,因为它也在查看生成的项目 . 如果它有超过1000次点击,只需单击继续 .
完成后,按“全部替换”将旧包名替换为新包名 .
现在关闭Android Studio并转到Mac上的Finder或Windows上的Windows资源管理器 . 将文件夹的名称更改为新的包名称,如下所示:
现在再次打开Android Studio . Gradle将同步,您的包名称应更改为新名称 .
我发现这是最容易的,也是覆盖生成文件等所有领域的 .
选择要重构的包 . 重构→移动→"Move xxx to new package" .
ctrl Shift R一直对我有用 . 只需
replace all
并选择All Files
.右键单击 Project Panel 处的包 .
从上下文菜单中选择Refactor - > Rename .
包有两个目的 . 一种是在Google Play商店中唯一标识您的应用 . 另一种是为构建项目时生成的 R.java class 命名包 . 您可以将第一个目的视为外部包,第二个目标视为内部包 . 假设您要更改外部程序包以便在Play商店中进行识别,则可以通过这种方式进行操作 .
In Android Studio,
现在,当您构建项目时,您的APK和清单将使用此新包名称 .
在您使用其中一种技术重命名包之后,您可能会开始看到错误 .
如果/当您的R.java未正确生成时,您的项目中会出现很多错误,如
error: cannot find symbol class R
以及error: package R does not exist
.请记住检查您的应用程序清单xml . 清单包名 must match 实际包名 . 看起来R.java是从Application Manifest生成的,如果不匹配会导致这些错误 .
请记住检查
<manifest package="com.yourcompany.coolapp">
中的package
属性匹配项在Java文件夹中选择包名称 .
Shift F6
更改包名称,然后单击“确定” .
您的包名将从所有java文件和Manifest文件中更改 . 您必须从build.gradle手动更改包名称
另一个好方法是:首先通过右键单击创建一个具有所需名称的新包Java文件夹→新建→包 .
然后,选择并将所有类拖到新包中 . Android Studio将在任何地方重构包名称 .
最后,删除旧包 .
完成 .
Very important:
如果使用此方法,则必须手动将 AndroidManifest.xml 和 build.gradle 文件更改为新包 .
第一部分包括在“java”文件夹下创建一个新包,然后选择然后将所有源文件从旧包拖到这个新包中 . 之后,您需要将android清单中的软件包名称重新保存为新软件包的名称 .
在第2步中,您需要执行以下操作 . 除了更改清单中的包名称外,您还需要在android studio中的“build.gradle”模块下的“applicationId”中更改旧包名称 . 总而言之,单击“AndroidManifest.xml”下面的“build.gradle”,并将“applicationId”的值修改为新的包名 .
然后,在最顶层,在“构建”下 . 清理您的项目,然后重建 . 从这里开始应该没问题 .
请尝试以下步骤:
单击设置齿轮图标并取消选择Compact Empty Middle Package
现在我们可以看到每个包文件夹都被分成几部分
现在右键单击第一个包文件夹>>>重构>>>重命名
现在将显示一条警告,但您继续并单击“重命名包”
之后输入包名称的域名
点击'Do Refactor'
现在它已经更改了App的包域名 . 现在根据您的要求更改域扩展名和App文件夹名称
现在在Gradle Scripts中打开build.gradle(Module:app) . 在此处更改应用程序ID,然后单击立即同步 .
*最后完成了
我找到了另一种方法,或者在这里有一些额外的步骤,特别是如果你想改变域名的话 . 适用于android studio 1.4 . 这就是我做的:
打开Manifest.xml并将包名更改为您想要的名称 .
打开您的app build.gradle文件,并将defaultConfig中的Application Id更改为与manifest中相同的名称并重建项目 .
如果仍然问题,打开包名称下的文件,转到包breadcrumbs(即文件头部的包声明)并将光标设置到你要更改的域并点击"Shift + F6",它会出现一个对话框多次使用警告,单击"Rename packages",然后单击"Do Refactor"它应重命名包括R.Java文件在内的所有内容 .
所以例如,如果要将“com.example.app”重命名为“com.YourDomain.app”,打开要重命名的包下的文件,在包breadcrumbs中,将光标设置为域的“示例”部分然后按Shift F6并将包重命名为“YourDomain” .
希望这可以帮助 :)
在Android Studio中,您可以这样做:
例如,如果要将
com.example.app
更改为my.awesome.game
,则:在 Project pane 中,单击小齿轮图标(
)
取消选中/取消选择
Compact Empty Middle Packages
选项您的包目录现在将在各个目录中分解
单独选择要重命名的每个目录,并:
右键单击它
选择
Refactor
点击
Rename
在弹出对话框中,单击
Rename Package
而不是重命名目录输入新名称,然后按 Refactor
单击底部的 Do Refactor
等一下让Android Studio更新所有更改
注意:在Android Studio中重命名
com
时,它可能会发出警告 . 在这种情况下,请选择 Rename Allbuild.gradle
- 通常为app
或mobile
) . 将defaultConfig
中的applicationId
更新为新的包名称和同步Gradle(如果尚未自动更新):您可能需要更改清单中的
package=
属性 .清洁和重建 .
Done! 无论如何,Android Studio需要使这个过程更简单一些 .
我已经看到了最高投票的答案,但我发现这样做有点不同,我尝试做最完整的教程 .
在Android Studio中单击齿轮图标(
),然后选择选项:
"Compact Empty Middle Packages"
,以查看在树状视图中分隔的文件夹 .现在选择文件夹,单击右键打开上下文菜单,选择 Refactor 然后选择 Rename
建议您重构包裹:
然后一个窗口将显示proyect内部的巧合,选择 "Do Refactor" :
We don´t have to change manually the AndroidManifest.xml or build.gradle files, Refactoring the package will do the job!.
我相信你要找的是Refactor> Move . 您也可以按F6 .
你会得到两个弹出窗口 . 确保在两者上选择重命名包 . 之后,您将弹出一个新的包名称 .
请注意,如果您的软件包名称是com.example.android.projectname,那么这将允许您将com.example.android更改为其他名称 .
还有一件事,这会更新你的applicationIdbuild.gradle也是如此 . 只需确保选中“在注释和字符串中搜索”和“搜索文本事件”的复选框,以使其正常工作 .
3年后的补充答案,当然,如果以前任何不适合你,因为“东西” .
转到项目路径>您找到java文件和包的位置
创建新文件夹,例如com> super_package> activities
Android Studio将刷新项目结构
将所有Java文件移动到新文件夹
删除旧文件夹
编辑>查找>替换路径:
将旧包名更改为新包
也在清单和构建gradle中更改
完成!
快速简便的方法:
1-打开
MainActivity.java
或任何可用的java文件 .在顶部有包裹声明,例如:
选择要更改的包部分,然后按 Shift+F6 . 我个人想改变
example
.在警告对话框中,选择 Rename package ,然后插入所需的包名称 .
2-打开
AndroidManifest.xml
并在<manifest>
标签内将package
更改为所需的包名称 .3-打开
build.gradle(Module: app)
并将applicationId
更改为所需的包名称 .Updated answer: May 2015
好吧,我一直在努力克隆和重命名Android Studio中的项目,但最后我实现了它 . 以下是要遵循的步骤:
复制项目文件夹,重命名并使用Android Studio打开它
从资源管理器重命名模块目录
重命名projectName.iml和内容
重命名idea / .name内容
在项目窗格中,单击小齿轮图标 - >取消选中"Compact Empty Middle Package"
为新包名重构src目录(重命名包,"not rename directory")
在build.gradle中重命名应用程序ID
settings.gradle重命名模块
而已...
如果您的包名称超过两个点,请说
com.hello.world
而且,您没有在com/
和com/hello/
中放置任何内容 . 您的所有课程都在com/hello/world/
中,您可以按照以下步骤在Android Studio或IntelliJ中重构您的包名称:com/
,com/hello/
) . 你可以通过首先添加两个文件来包装com.hello.world来实现这一点然后分别通过将它们移动到com和com.hello来重构它们 . 您将看到com和com.hello坐在项目中(
Alt+1
或Command+1
表示快捷方式)并重命名目录重构正在按预期等待 .重构以重命名这些目录中的一个或多个以达到您的目标 . 这里你唯一应该注意的是,当对话框问你时,你必须选择目录而不是包 .
如果您的项目中有很多课程,则需要一段时间才能等待其自动扫描和重命名 .
此外,您需要手动重命名AndroidManifest.xml中的包名称,我想,这样该文件中的其他名称可以使前缀受益 .
[ALSO] ,它可能需要您将所有
com.hello.world.R
替换为新的XXX.XXX.XXX.R
(简称Command+Shift+R
)重建并运行您的项目以查看它是否有效 . 并使用“在路径中查找”查找您要重命名的其他非触摸名称 .
享受吧 .
这对我来说非常有用,即使是在所有相关模块中更改了我想在包中修改的文件夹名称,但对我来说,只有按照以下步骤操作它才能正常工作:
A - 如果要更改根文件夹的名称(换句话说,文件夹的名称在包中正常使用以包含主体活动),可以在以下步骤之前或之后执行(B到C)退出"Android Studio"并手动重命名此根文件夹 . 在"Import project..."之后单击,然后在项目的新名称上单击(此导入过程将自动使用项目文件重新调整'Gradle'文件 . )
B - 在接下来的C步骤之前,通过在以下3个文件中更改它们来删除要更改的名称:'AndroidManifest.xml','MainActivity.java'(或您最终为第一个活动选择的名称)和'build.gradle (Module: app)'文件 .
C - 按照上述步骤1至6("In your Project pane, click on the little gear icon...") - > https://stackoverflow.com/a/29092698/2001610进行操作
D - 仅当您想要立即更改根文件夹的名称时,您可以按照'A'进程进行操作,如上所述 .
我用来重命名包名的方法很简单如下: -
Step 1 :从Android Studio的左侧菜单中选择“项目”选项
Step 2 :右键单击java并添加一个新包并设置所需的包名称
Step 3 :输入新的包名称
Step 4 :复制旧包中的所有文件并粘贴到新包中
Step 5 :重命名清单文件中的包名称
Step 6 :在build.gradle文件中重命名包名称
Step 7 :然后右键单击旧包并将其全部删除,并删除该目录
Step 8 :然后重建您的项目
Step 9 :然后您会在项目 Select the old package name in any file and press CTRL + Shift + R 中找到旧导入包名称的一些错误,并在替换框中输入新包名称,然后按查找
Step 10 :然后弹出如下所示,并从中选择所有文件选项
Step 11 :再次重建您的项目,宾果您的项目包名已被更改:)
(1)
打开文件:
app >> manifests >> AndroidManifest.xml
突出显示要修改的包名称中的每个部分(不要突出显示整个包名称),然后:
鼠标右键单击>>重构>>重命名>>重命名包
输入新名称并按(重构)
在包名称的每个部分中执行这些步骤
(2)
打开(Gradle Script)>>(build.gradle(模块:app))
并将applicationId更新为您的包名称
(3)
打开菜单(构建)并选择(重建项目)
人们可以犯的常见错误是无法重命名包结构,但是当尝试在com.name.android级别修改时,无法将com.name.android更改为com.Renamed.android .
为了获得相同的所需更改,请升级一级,即com.name,此时重构时将其更改为重命名 . 这将始终有效
编写新包名称并从旧包名称拖动的最佳方法 . 第二种方法,如果单击Refactor然后移动选项,然后重命名包名称,它将重命名包名称,然后重建 .
在Build.gradle中你必须手动完成,如果你重构,那么它将不会在Build.gradle中重命名 .
右键单击包 - >重构并更改名称 . 您也可以在清单中更改它 . 有时如果你更改包名但在创建apk后它会显示不同的包名,请检查build.gradle文件中的“applicationId” .
我建议使用Sublime Text(或Notepad) . 在... \ Projects [MyProject]中替换com.one.lastname - > com.two.newname和com / one / lastname - > com / two / newname . 并且不要't forget to rename ...\Projects\MyProject\app\src\main\java\com\one\lastname, ...\Projects\MyProject\app\src\test\java\com\one\lastname and ...\Projects\MyProject\app\src\androidTest\java\com\one\lastname! That'全部:)
转到您的AndroidManifest.xml .
将光标放在包名称中,如下图所示,不要选择它只是放置它 .
然后按
shift+F6
您将看到如下所示的弹出窗口,选择 Rename package .输入新名称并选择 Refactor . (注意,因为我的光标在"something"上,所以只重命名了 . )
就是这样 .
IntelliJ IDEA有一个名为"Compact Empty Middle Packages"的选项 . 选择“项目”选项卡的选项图标,然后取消激活它 .
见:How can I change top level package name in IntelliJ IDEA?