如何重命名android包名称? [复制]
Posted
技术标签:
【中文标题】如何重命名android包名称? [复制]【英文标题】:How do I rename the android package name? [duplicate] 【发布时间】:2011-09-29 19:54:46 【问题描述】:按 Shift+F6 似乎只重命名最后一个目录。例如,在项目com.example.test
中它只提供重命名 test。如果我导航到 .java
或清单文件中的包名称并按 Shift+F6,这同样适用。
那么有没有办法重命名包?
【问题讨论】:
【参考方案1】:你可以这样做:
-
在清单文件中手动更改包名称。
单击您的
R.java
类并按F6(Refactor->Move...)。它将允许您将该类移动到另一个包中,并且对该类的所有引用都将被更新。
【讨论】:
它仍然编译为 com.old_name.test。你能帮忙吗? 如果您更改清单中的包名称,则不应该。刚刚试了一下,效果很好。 为我工作(使用 android Studio 0..9.1)但顺序相反。首先将 R.java 类移动到新包中。第二步是删除重复的 R.java(它出现在新包的源文件夹中)。最后,手动更改清单文件中的包名称。 FWIW,如果您使用的是 Android Studio,您可以在包上执行“移动”(不重命名)并选择“将 'xyz' 移动到另一个包” .无需其他步骤。 参考这个问题-最佳解决方案***.com/questions/16804093/…【参考方案2】:解决此问题的最佳方法是访问 AndroidManifest.xml:package="com.foocomp.fooapp
:
为我工作。
另外,替换整个项目中的路径,因为它并没有改变一切。然后清理,重建,它就可以工作了 --> 在 Android Studio / IntelliJ 中,你应该取消标记“Compact Empty Middle Packages”
【讨论】:
这个答案应该被标记为正确 没错,就是这样做的。还要替换整个项目中的路径,因为它并没有改变一切。然后清理,重建,它就可以工作了 同时更改 app/build.gradle 文件中的 applicationId 属性 "将光标设置为"。不知道这意味着什么我把光标放在第一部分的前面,它只会重构第一部分。 您可能还需要手动更改build.gradle
文件中的包名称。【参考方案3】:
日食: 右键单击项目 > Android 工具 > 重命名应用程序包。
就这么简单……
在 Android Studio 中: 打开 build.gradle 文件 > 在 defaultConfig 下重命名 applicationId > 同步
【讨论】:
谢谢哥们...它的作品很棒...这就是我想要的... 但它不会在同步后重命名包,我是否必须手动重命名其他所有内容,包含 java 文件的包,也在 mainfest 中? 在 Android Studio 中,这不会更新清单中的包名 详细说明MarkCarter所说的,您需要更改包名,而不是应用程序ID。查看tools.android.com/tech-docs/new-build-system/…【参考方案4】:-
转到您的 AndroidManifest.xml。
将光标放在包名上,如下图所示不要选择它,只需放置即可。
-
然后按
shift+F6
会弹出如下图的窗口选择
重命名包。
-
输入您的新名称并选择重构。
(注意,因为我的光标在“某物”上,所以只有某物被重命名。)
大功告成。
【讨论】:
【参考方案5】:我在整个项目中找到了另一种重命名包的解决方案:
-
打开包中的文件。
IntelliJ 在打开的文件上方显示文件的面包屑。
在要重命名的包上:右键单击 > 重构 > 重命名。
这会在整个项目中重命名包/目录。
【讨论】:
这个对我有用,谢谢。还有一个补充:我必须手动重命名“res”文件夹中文件中的引用。 对我有用,需要更改清单文件中的包名称 即使在 Android Studio 中,这也很有魅力。谢谢【参考方案6】:在项目资源管理器的 Windows 设置菜单中取消选择隐藏空中间包,然后您将能够重构每个目录
【讨论】:
【参考方案7】:让我们解决这两个用例
**重命名包名或修剪包**
com.mycompany.mystupidapplicationname 到 com.mycompany.brandname
或
com.someothercompany.mystupidapplicationname 到 com.someothercompany.mystupidapplicationname
或
com.someothercompany.mystupidapplicationname 到 someothercompany.brandname
-
在 Android Studio 的下拉菜单中选择包
-
右键单击包含您的 MainActivity 的包并折射它
-
选择重命名包,一切都会像魅力一样工作
但这只会重命名包名的最后一部分
-
重命名包名的第一或第二部分。在要重命名的包部分中创建一个新的虚拟文件。该文件将在 mycompany.com.myapplicationame 中创建。然后移动 mycompany 中的文件(右键单击 => 移动)以使 mycompany 出现在树视图中。这将使该部分成为树视图的一部分,您将帮助您右键单击并重命名该部分。
删除虚拟文件
要修剪包,只需右键单击并将包部分移动到其祖父项中
【讨论】:
【参考方案8】:我找到了解决这个问题的好方法。以问题中提到的示例为例,以下是将包名称从com.example.test
更改为com.example2.test
的步骤:
-
创建一个临时目录,例如在目录
example
(与目录test
一起)内的temp
。
回到 Intellij 项目,选择文件夹com.example
并单击Shift + F6
。现在它提供重命名文本example
。您可以在此处输入所需的新文本,然后 IntelliJ 将为您完成剩下的工作。
从文件系统中删除临时目录temp
。
这个想法可以用来重构包名的任何部分。
祝你好运!
【讨论】:
这是否也重命名了Manifest
包名?这种方式是否会重命名 com.example.test.mycoolbutton
之类的自定义元素?
它确实重命名了“IntelliJ Idea Ultimate 11”中的所有内容。
您可以简单地要求 IntelliJ 不要Compact Empty Middle Packages
(项目层次结构视图中的选项),然后继续重命名每个目录。无需创建临时目录 :)【参考方案9】:
这个修改需要三个步骤:
-
更改清单中的包名
在树形视图中右键->重构->重命名重构你的包名,然后Android studio会弹出一个窗口,选择“重命名包”
手动更改 build.gradle 文件中的应用程序 ID:
android/defaultconfig/应用ID
然后清理/重建项目
【讨论】:
【参考方案10】:不幸的是,以上所有对我都不起作用。经过无数次的考验, 在 Android Studio 中什么对我有用:
在包上“移动”到你想要的新包名。(对 单击包并选择重构-> 移动) 如果 Refactor -> Move 对您不起作用,则使用您想要的名称创建一个包并在现有包中手动移动到新包,然后删除旧的空包。
在清单中更改包名称(手动)
用新的包名替换旧的包名 全局(在完整路径中通过编辑 -> 查找 -> 替换 路径)【讨论】:
只有这个答案在我的情况下才有效,我必须从包名中删除一个文件夹本身,例如:从 com.company.name.customer 更改为 com.company.name【参考方案11】:我做了以下事情:
我只是在 src 文件夹中创建了具有所需名称的包,位于当前名称的当前包旁边。
我将当前包的所有内容拖到新包中,intellij 弹出一个对话框,询问我是否要重构包引用和对新包的项目引用,我单击“是”和 TA-DAAA,就像一个魅力.
【讨论】:
【参考方案12】:在Android Studio 1.1中,最简单的方法是打开你的项目manifest file
,然后指向package name
中你想要更改的每个部分并按下
SHIFT + F6 ,然后选择rename package
并在对话框中写入新名称。就是这样。
【讨论】:
【参考方案13】:大多数答案,即使是投票最多的答案也没有正确完成工作,它们似乎工作并且构建工作但是,仔细查看文件结构和参考资料会告诉您没有做太多事情。 IntelliJ 实际上会自动完成整个过程。
1) 转到项目选项卡并确保包是下拉菜单中的活动选项卡,如下所示:
找到你的 com.example 包(注意 com.example.test 中的 test 不存在)右键单击并选择 Refactor->Rename...
会发出多个目录的警告...(其实是想要的效果),点击重命名包。
输入新的包名和重构...
它将进行搜索并向您显示重构结果。
单击 Do Refactor 按钮,它将执行所有操作,甚至重命名所涉及的文件夹和文件...每个引用都被更正为这个新名称。
2) 然后最后修改AndroidManifest.xml文件
:)
【讨论】:
错过了一步,手动更改 Gradle 文件中的包名。 :) 这似乎是一个不错的解决方案,但您无法更改前缀“com.example.”。在此示例中,您只能更改后缀“test”。这对大多数开发人员来说是不够的。【参考方案14】:大多数答案,即使是投票最多的答案也没有正确完成工作,它们似乎工作并且构建工作但是,仔细查看文件结构和参考资料会告诉您没有做太多事情。 IntelliJ 实际上会自动完成整个过程。
【讨论】:
【参考方案15】:我通过从命令行手动更改目录名称解决了这个问题。 Intellij 然后自动识别新的包名称。然后我必须在每个导入它的文件中搜索和替换包名。这似乎是一个丑陋的解决方法,但 Intellij 似乎不愿意更改包名称。
【讨论】:
【参考方案16】:我做的是以下
-
更改清单。
关闭androidStudio
使用 Windows 资源管理器打开文件夹。更改文件夹名称。
打开androidStudio,进行搜索和替换。
完成!
【讨论】:
这一定是公认的答案!!!【参考方案17】:如果你想重命名完整的 android 包,这是最好的方法:
标记为已选中 - Comapct Emty 中间包
右键单击要更改的包,然后 重构->重命名->全部重命名
您可以在此链接上找到视频教程: https://www.youtube.com/watch?v=A-rITYZQj0A
【讨论】:
虽然这在理论上可以回答这个问题,it would be preferable 在此处包含答案的基本部分,并提供链接以供参考。【参考方案18】:除了上面的@Cristian 的answer,我还必须执行两个步骤才能使其正常工作。我将在这里总结所有内容:
-
在清单文件中手动更改包名称。
单击您的
R.java
类,然后按F6
(重构-> 移动...)。它将允许您将该类移动到另一个包中,并且对该类的所有引用都将被更新。
手动更改build.gradle
文件中的应用程序ID:android/defaultconfig/应用程序ID [source]。
通过右键单击 java 文件夹 -> 新建 -> 包创建具有所需名称的新包,然后选择所有类并将其拖到新包中。 Android Studio 将在任何地方重构包名 [source]。
【讨论】:
【参考方案19】:解决方案 1:我更改了 src 子文件夹名称、清单文件、活动标头和运行/调试配置。并且仍然出现构建错误。如果您的项目不是很大,只需创建一个新项目,复制粘贴旧文件并更改 .java 文件头和 android manifest 中的包名称。
解决方案 2:在 IntelliJ 12 中,转到 someFile.java 并找到您的旧包名称
package com.myself.project2
单击要更改的单词。按 Shift+F6。 对话框出现,输入新名称。
然后转到运行/编辑配置。内部启动单选按钮将包名称更改为新的。它应该可以工作。
IntelliJ 的其他重命名选项有:http://www.jetbrains.com/idea/webhelp/rename-refactorings.html
【讨论】:
【参考方案20】:超级简单方法:
-
在 build/generated 目录中找到
R.java
创建新的包目录,同样在 build/generated/etc 下
移动 R.java
到新创建的包。
将出现一个对话框。选择用新的包名称重构现有代码。
清理和重建
完成!
【讨论】:
以上是关于如何重命名android包名称? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
使用 Android Studio 重命名 Android 包名称