如何重命名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 类并按F6Refactor->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:

将光标设置在“foocomp”Shift+F6 重命名包到任何你想要的 重复 “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.mystupidapplicationnamecom.mycompany.brandname

com.someothercompany.mystupidapplicationnamecom.someothercompany.mystupidapplicationname

com.someothercompany.mystupidapplicationnamesomeothercompany.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包名称[重复]

使用 Android Studio 重命名 Android 包名称

Google Maps Api在重命名包名称后无法识别包名称-Android

如何在 Android Studio 中重命名软件包名称

在android studio中重命名包名称后启动错误,运行时错误