1616

如何在基于 IntelliJ IDEA 的新 IDE Android Studio 中重命名包?

是否包含自动重构?

我想进行批量重构,但我不知道如何。我在 Eclipse 上工作了两年,在 Eclipse 中它是一键式操作。

4

52 回答 52

3343

在 Android Studio 中,您可以这样做:

例如,如果要更改com.example.appmy.awesome.game,则:

  1. 在您的项目窗格中,单击小齿轮图标 ( 齿轮图标)

  2. 取消选中该Compact Empty Middle Packages选项

    紧凑的空中间包

  3. 您的包目录现在将被分解为单独的目录

  4. 单独选择要重命名的每个目录,然后:

  • 右键单击它

  • 选择Refactor

  • 点击Rename

  • 在弹出对话框中,单击Rename Package而不是重命名目录

  • 输入新名称并点击重构

  • 点击底部的Do Refactor

  • 让 Android Studio 更新所有更改

  • 注意:com在 Android Studio 中重命名时,可能会出现警告。在这种情况下,选择 重命名全部

    在此处输入图像描述

  1. 现在打开您的Gradle 构建文件build.gradle- 通常appmobile)。如果尚未自动更新,请将applicationId中的更新为您的新包名称和同步 Gradle:defaultConfig

    重构目录

  2. 您可能需要更改package=清单中的属性。

  3. 清洁和重建。

    清理和重建

  4. 完毕!不管怎样,Android Studio 需要让这个过程简单一点。

于 2015-03-17T06:32:34.527 回答
608

另一个好方法是:首先通过右键单击 Java 文件夹 →新建→包创建一个具有所需名称的新

然后,选择所有类并将其拖到新包中。Android Studio 将在任何地方重构包名称。

最后,删除旧包。

完毕。

很重要:

如果使用此方法,您必须手动将AndroidManifest.xmlbuild.gradle文件更改为新包。

于 2013-09-05T12:57:38.860 回答
219

更改应用程序 ID(现在独立于包名称)可以很容易地一步完成。您不必触摸 AndroidManifest。而是执行以下操作:

  1. 右键单击项目的根文件夹。
  2. 点击“打开模块设置”。
  3. 转到风味选项卡。
  4. 将 applicationID 更改为您想要的任何包名称。按确定。

请注意,这不会更改包名称。Package Name 和 Application ID 的解耦在这里解释: http ://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename

于 2015-02-05T04:42:37.507 回答
97

我用来重命名包名的方法如下:-

第 1 步 :从 Android Studio 的左侧菜单中选择 Project 选项

在此处输入图像描述

第2步 :右键单击java并添加一个新包并设置所需的包名称

在此处输入图像描述

第 3 步 :输入您的新软件包名称

在此处输入图像描述

第 4 步 :复制旧包中的所有文件并粘贴到新包中

在此处输入图像描述

第五步 :重命名清单文件中的包名

在此处输入图像描述

第 6 步 :重命名 build.gradle 文件中的包名

在此处输入图像描述

第7步 :然后右键单击旧包并将其及其所有数据删除,并删除该目录

在此处输入图像描述

第 8 步 :然后重建您的项目

在此处输入图像描述

步骤9 :然后你会在你的项目中发现old import packagename的一些错误 在任何文件中选择旧包名并按 CTRL + Shift + R,在替换框中输入你的新包名,然后按find

在此处输入图像描述

第 10 步 :然后出现如下所示的弹出窗口并从中选择“所有文件”选项

在此处输入图像描述

第 11 步 :再次重建您的项目,宾果您的项目包名已更改 :)

于 2016-09-26T11:34:50.220 回答
70
  1. 转到您的 AndroidManifest.xml 文件。

  2. 将光标放在包名称上,如下所示。不要选择它,只需放置它。

    在此处输入图像描述

  3. 然后按Shift+ F6,你会得到一个弹出窗口,如下图所示。选择 重命名包

    在此处输入图像描述

  4. 输入您的新名称并选择Refactor。(注意:因为我的光标在“某物”上,所以只有某物被重命名。)

就这样完成了。

于 2016-01-28T09:28:44.303 回答
44

右键单击Project Panel中的包。

从上下文菜单中选择重构 -> 重命名。

于 2013-05-29T02:03:20.717 回答
31
  1. 打开文件:

    应用 → 清单 → AndroidManifest.xml

    在此处输入图像描述

    突出显示要修改的包名称中的每个部分(不要突出显示整个包名称),然后:

    • 鼠标右键→重构→重命名→重命名包
    • 输入新名称并按(重构)

    在包名称的每个部分执行这些步骤。

    在此处输入图像描述

  2. 打开 (Gradle 脚本) >> (build.gradle(Modul:app))

    并将applicationId更新 为您的包名称

    在此处输入图像描述

  3. 打开菜单 (build) 并选择 (Rebuild Project)。

于 2015-07-07T12:38:39.027 回答
30

更改包名称


要重命名您的包名,您所要做的就是转到您的AndroidManifest.xml文件并将鼠标光标放在您要更改的包名部分的前面。


在此处输入图像描述


右键单击 > 重构 > 重命名


在此处输入图像描述


在新窗口中按重命名包


在此处输入图像描述


更改名称并按重构


在此处输入图像描述


…然后按底部的 Do Refactor。


在此处输入图像描述


您的包名通常采用 com.domain.appname 格式;在此示例中,我们更改了 appname 部分,但您也可以对域执行相同的步骤。

完毕!您已更改包裹名称!

于 2019-12-02T04:53:25.600 回答
18

我已经看到投票最多的答案,但我发现这样做有点不同,我尝试做最完整的教程。

在 Android Studio 中单击齿轮图标 ( 齿轮图标),然后选择选项:"Compact Empty Middle Packages",以查看在树视图中分隔的文件夹。

水图像介绍

现在选择文件夹,单击右键打开上下文菜单,选择Refactor然后Rename

水图像介绍

建议您重构包:

水图像介绍

然后一个窗口将显示项目内的巧合,选择"Do Refactor"

水图像介绍

我们不必手动更改 AndroidManifest.xml 或 build.gradle 文件,重构包就可以了!

于 2016-09-15T21:25:23.560 回答
17

IntelliJ IDEA 有一个名为“Compact Empty Middle Packages”的选项。选择项目选项卡的选项图标并取消/激活它。

请参阅:如何更改 IntelliJ IDEA 中的顶级包名称?

于 2014-07-28T14:26:39.390 回答
17

选择要重构的包。重构移动“将xxx移动到新包”

于 2014-10-06T10:50:28.877 回答
9

如果你的包名有两个以上的点分隔,比如说com.hello.worldand 而且,你没有在 and 中放任何com/东西com/hello/。您所有的类都放入com/hello/world/,您可以执行以下步骤在 Android Studio 或 IntelliJ 中重构您的包名称:

  • [FIRST]在你的目录下添加一些东西(com/com/hello/)。您可以通过首先将两个文件添加到包 com.hello.world 来实现这一点,比如说
   com.hello.world.PackageInfo1.java
   com.hello.world.PackageInfo2.java

然后通过将它们分别移动到 com 和 com.hello 来重构它们。您将看到 com 和 com.hello 坐在项目中(Alt+1Command+1快捷方式),并且重命名目录重构正在等待您的预期。

  • 重构以重命名这些目录中的一个或多个以达到您的目标。您应该注意的唯一一件事是,当对话框询问您时,您必须选择目录而不是包。

  • 如果您的项目中有很多类,您将需要一段时间来等待它的自动扫描和重命名。

  • 此外,我猜您需要手动重命名 AndroidManifest.xml 中的包名称,以便该文件中的其他名称可以受益于前缀。

  • [ALSO],可能需要你全部替换com.hello.world.R为新的XXX.XXX.XXX.RCommand+Shift+R简称)

  • 重建并运行您的项目以查看它是否工作。并使用“在路径中查找”查找您想要重命名的其他非触摸名称。

  • 好好享受。
于 2013-06-07T16:20:56.163 回答
7

一定要去看Sheharyar's great Answer。后面有很多答案和评论,很容易混淆和放弃,但不要。这个答案有效

简而言之,你做了三件事

(1) 取消选择Compact Empty Middle Packages

(2)Refactor然后Rename每个旧目录节点通过选择Change Package( not Change Directory ) 来匹配新的包名。(请务必预览更改。)

(3) 编辑build.gradle文件并APPLICATION_ID匹配新的包名。

于 2015-04-30T05:42:37.763 回答
6

人们可能犯的常见错误是无法重命名包结构,即当尝试在com.name.android级别进行修改时,不可能将com.name.android更改为com.Renamed.android

为了获得相同的期望更改,请上一级,即com.name,当您重构时将其更改为Renamed。这将永远有效。

于 2015-04-30T10:34:32.877 回答
6

我找到了一种更简单的方法来解决这个问题,它也改变了生成的导入com.test.testpackagechange.R,只需要大约一分钟。

您的第一步是打开 Android Studio 并打开全部替换窗口(Mac:cmd + shift + R,Windows 我假设:ctrl + shift + R)。输入您的旧包名称和新包名称下方的名称。单击查找。这可能需要一段时间,因为它也在查看生成的项目。如果它有超过 1000 次点击,只需单击继续。

在此处输入图像描述

完成后,按 Replace All 以将旧包名称替换为新包名称。

在此处输入图像描述

现在关闭 Android Studio 并转到 Mac 上的 Finder 或 Windows 上的 Windows Explorer。将文件夹的名称更改为新的包名称,如下所示:

在此处输入图像描述

现在再次打开 Android Studio。Gradle 将同步,您的包名称应更改为新名称。

我发现这是最简单的一种,它涵盖了生成文件等所有领域。

于 2017-03-20T19:59:00.080 回答
5

包有两个目的。一种是在 Google Play 商店中唯一标识您的应用。R.java class另一种是为构建项目时生成的包命名。您可以将第一个用途视为外部包装,将第二个用途视为内部包装。假设您想更改外部包以便在 Play 商店中进行识别,有一种方便的方法可以做到这一点。

在 Android Studio 中,

 choose File -> Project Structure -> Choose your app's module -> Click on the 
 Flavors tab -> change the Application id.

现在,当您构建项目时,您的 APK 和清单将使用这个新的包名称。

于 2014-09-18T02:40:43.053 回答
5

我尝试了两个投票最多的解决方案,但发现了一些问题,即使它们在某种程度上都有效。

  • 列表项:新的 package-drag-drop 方法保留了一些不变并产生了一些不希望的效果
  • 列表项:重命名包只改变包名的最后一部分

经过一些实验,我发现以下方法对我很有效。

如果只需要更改包名的最后一部分,请使用 GreyBeardedGeek 概述的方法,即

右键单击“项目”窗格中的包。从上下文菜单中选择重构 -> 重命名

如果您需要更改整个包名,请执行以下操作。

右键单击“项目”窗格中的包。从上下文菜单中选择重构 -> 移动

这将创建一个新的包文件夹(必要时),但会像以前一样保留包名称的最后一部分。如果您需要更改最后一部分,请相应地进行重命名。

另请注意,您可能需要在 build.gradle、manifest 和/或任何 xml 资源文件中修改包名称,甚至在您的代码中(如果硬编码)。毕竟,根据需要执行同步/清理/重建项目。

于 2014-10-24T17:57:13.347 回答
5

更新答案:2015 年 5 月

好的,我一直在努力在 Android Studio 中克隆和重命名项目,但最终我实现了。以下是要遵循的步骤:

  1. 复制项目文件夹,重命名并使用 Android Studio 打开它
  2. 从资源管理器重命名模块目录
  3. 重命名 projectName.iml 和内容
  4. 重命名idea/.name 内容
  5. 在您的项目窗格中,单击小齿轮图标 -> 取消选中“Compact Empty Middle Package”
  6. 重构新包名的 src 目录(重命名包,“不重命名目录”)
  7. 在 build.gradle 中重命名应用 id
  8. settings.gradle 重命名模块

而已...

于 2015-05-15T19:18:36.270 回答
5

我在这里找到了另一种可行的方法或一些答案的额外步骤,特别是如果您也想更改域。它适用于 Android Studio 1.4。这就是我所做的:

  1. 打开 Manifest.xml 并将包名称更改为您想要的名称。
  2. 打开您的应用程序build.gradle文件并将 defaultConfig 中的 Application Id 更改为与清单中相同的名称并重建项目。
  3. 如果仍然有问题,打开包名下的文件,转到包面包屑(即文件头的包声明)并将光标设置为要更改的域并点击“Shift + F6”,它会出来使用带有多个使用警告的对话框,单击“重命名包”,然后单击“进行重构”,它应该重命名所有内容,包括 R.Java 文件。

因此,例如如果要将“com.example.app”重命名为“com.YourDomain.app”,请打开要重命名的包下的文件,在包面包屑中,将光标设置为域的“example”部分并点击Shift+F6并将包重命名为“YourDomain”。

于 2015-10-16T16:14:21.147 回答
5
  1. 在 Java 文件夹中选择包名称。
  2. Shift+F6
  3. 更改包名称并单击OK

您的包名称将从所有 Java 文件和清单文件中更改。您必须手动将包名称从build.gradle.

于 2016-02-04T06:13:42.520 回答
4
  • 第一部分包括在文件夹下创建一个新包,java然后选择然后将所有源文件old packagenew package. 之后,你需要rename the package name in android manifest` 到新包的名称。

  • 在第 2 步中,您需要执行以下操作。applicationId除了build.gradle更改manifest. _ 所以总而言之,单击build.gradle“AndroidManifest.xml”下方的哪个并将其值修改applicationId为您的新包名称。

  • 然后,在最顶部,在build. clean你的项目,然后rebuild。从这里应该没问题。

于 2014-08-24T04:25:25.217 回答
4

最好的方法是编写新的包名并从旧的包名中拖动。

第二种方式,如果您单击Refactor then move 选项然后重命名包名称,它将重命名包名称然后重建。

在 Build.gradle 中你必须手动进行,如果你重构然后它不会在 Build.gradle 中重命名。

于 2015-03-26T05:57:20.110 回答
4

右键单击包-> 重构并更改名称。

您也可以在清单中更改它。有时,如果您更改包名称,但在创建 .apk 文件后,它会显示不同的包名称。那时检查build.gradle文件中的“applicationId”。

于 2015-05-11T07:34:58.450 回答
4

我建议使用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!

就这样:)

截屏

于 2016-04-03T21:42:43.437 回答
4

快速简便的方法:

1- 打开MainActivity.java或任何可用的 java 文件。

在顶部有包声明,例如:

包 com。example.myapp;

选择要更改的包部分,然后按Shift+F6。我个人想改变example.

在警告对话框中,选择重命名包,然后插入所需的包名称。

2-打开AndroidManifest.xml和内部<manifest>标签更改package为所需的包名称。

3-打开build.gradle(Module: app)并将其更改applicationId为所需的包名称。

于 2016-11-16T17:15:41.757 回答
4

如何重命名com.example.appcom.android.app

  1. 在包中com.example.app选择示例

  2. Shift+F6

  3. 选择rename package

  4. 将示例重命名为 android

  5. 确认do refactor

于 2018-10-10T12:19:09.653 回答
4

给出了很多答案,但我仍然在尝试。

第 1 步:如上图所示,选择设置选项... 在此处输入图像描述

第 2 步:选择 Compact Middle Packages 选项... 在此处输入图像描述

第 3 步:现在展开包,如图所示 在此处输入图像描述

第4步:扩展后它看起来像 在此处输入图像描述

第 5 步:选择子包中的任何一个(在示例或 googledevsmsverify 中),然后单击 Shift+f6 按钮... 在此处输入图像描述

我选择了中间包示例,因此它将显示如上图简单重命名包并单击重构按钮

在此处输入图像描述

第6步:点击Refactor按钮后会看到如下画面,点击DO Refactor,等到build gradle... 在此处输入图像描述

第 7 步:转到 build.gradle(Mobile:app) 并更改 applicationID 的包名称,如图所示 在此处输入图像描述

第 8 步:只需检查 manifest.xml 文件中的包...

在此处输入图像描述

全部完成,包裹正在改变......@Ambilpura

于 2019-08-09T11:45:52.317 回答
3

我相信您正在寻找的是重构>移动。您也可以按 F6。

你会得到两个弹出窗口。确保在两者上都选择重命名包。之后,您将弹出一个窗口以放置新的包名称。

请注意,例如,如果您的包名称是 com.example.android.projectname,那么这将允许您将 com.example.android 更改为其他名称。

还有一件事,这也会更新 build.gradle 中的 applicationId。只需确保选中“搜索注释和字符串”和“搜索文本匹配项”复选框以使其正常工作。

于 2015-03-24T04:17:35.673 回答
3
  1. 选择选项在此处输入图像描述

  2. 取消选中 Compact Empty Middle Packages 选项。

  3. 选择要更改的目录(我选择了步骤 6 中显示的“crl”)。
  4. Shift+F6
  5. 重命名包
  6. 将目录 crl 重命名为 crl1 在此处输入图像描述

  7. 最后单击下图中标记的 Do Refactor 按钮在 在此处输入图像描述 此处输入代码

  8. 更改完成后 在此处输入图像描述

于 2016-08-04T11:37:54.300 回答
3

ctrl++Shift一直R为我工作。简单地replace all选择All Files

于 2017-06-30T12:00:18.330 回答
3
  1. Ctrl+ Shift+R

  2. 用新包替换旧包。

  3. 右键单击包名称。

  4. Refactor>Rename并重命名为新的

于 2017-09-08T12:14:04.850 回答
3

请尝试以下步骤:

  1. 单击设置齿轮图标并取消选择 Compact Empty Middle Package
  2. 现在我们可以看到每个包文件夹被分成几部分
  3. 现在右键单击第一个包文件夹>>>重构>>>重命名
  4. 现在将显示警告,但您继续并单击重命名包
  5. 之后输入你的域名作为包名
  6. 点击“进行重构”</li>
  7. 现在它已经改变了App的包域名。现在根据您的要求更改域扩展名和应用程序文件夹名称
  8. 现在在 Gradle Scripts 中打开 build.gradle (Module: app)。在这里更改应用程序 ID,然后单击立即同步。

*******终于搞定了******

于 2017-10-26T17:50:29.457 回答
3

在此处输入图像描述

3 在 Android Studio 中更改包名的方法

我认为这是一个新的。我试过了,它工作正常。如果以上对你不起作用。尝试这个。在我上面提到的网站上,还有其他两种方法与图像教程。我也查了。

首先,我将讨论更改包名称。在本例中,我们将包名“com.androidride.myapplication”更改为“info.xyz.yourapplication”。

  1. 右键单击要更改的包名称,然后选择Refactor -> Move
  2. 出现一个新对话框,选择将包“com.androidride.myapplication”移动到另一个包,然后单击确定
  3. 出现一个警告对话框,点击yes
  4. 在新对话框中输入新的包名称。但只有“info.xyz”离开你的应用程序。
  5. 现在您将看到一个警告对话框,显示 Package info.xyz 不存在。你想创建它吗?点击
  6. 点击“<strong>进行重构”</strong>。现在您的包名称更改为info.xyz.myapplication
  7. 右键单击info.xyz.myapplicationRefactor -> Rename
  8. 单击重命名包
  9. 重命名对话框:将myapplication更改为yourapplication
  10. 点击做重构
  11. 删除旧的包名目录并在build.gradle中更改应用程序 ID,将其更改为info.xyz.yourapplication
  12. 就这样。
于 2019-07-26T12:22:00.903 回答
3

有两件事 - 包名称和应用程序 ID。

对我来说最简单和最满意的方法是这样,

在此处输入图像描述

你能看到突出显示的行“vijayjangid”吗,之前是“示例”。我所做的只是使用 refractor 重命名示例,而 android studio 完成了所有工作。

第一部分完成。

现在将 defaultConfig 括号中的应用程序 ID 重命名为与您重命名示例文件夹的名称相同。确保在云服务(如 firebase、Aws、realm 等)中重命名包名称和 ID。

就是这样,您完成了,最受好评的答案是旧的,我们需要更新答案。

于 2020-08-26T16:44:12.050 回答
2
  • 转到项目路径 > Java 文件和包所在的位置
  • 创建新文件夹,例如 com → super_package → activities
  • Android Studio 将刷新项目结构
  • 将所有 Java 文件移动到新文件夹
  • 删除旧文件夹
  • 菜单编辑查找→替换路径:
  • 将旧包名更改为新包名
  • 在 manifest 和 build gradle 中也有变化

完毕!

于 2016-05-08T07:35:02.663 回答
2

转到 AndroidManifest.xml 在那里你会发现包作为清单标签的属性。只需选择要更改的部分,右键单击->重构->重命名

也许早些时候它很难,但到今天,它不再是了。

您可能还想更改应用程序 ID

defaultConfig {
    applicationId 
}

短而甜

于 2017-02-16T20:10:27.220 回答
2

右键点击包名->折射器->重命名->输入包名->点击“折射器”。不要编辑“app”文件夹下的“build.gradle”以外的任何构建文件。

来自重命名 android studio 项目 - Vishnu Sivan

于 2018-05-28T14:50:14.887 回答
1

这对我来说非常有效,即使对于更改所有相关模块中的出现,对于我想要在包中修改的文件夹名称,但对我来说,只有当我完全遵循以下步骤时它才能正常工作:

  • A - 如果您想更改根文件夹的名称(即通常在包中用于包含主要活动的文件夹的名称),您可以在以下步骤(B 到 C)之前之后进行从“Android Studio”退出并手动重命名此根文件夹。单击“导入项目...”,然后单击项目的新名称(此导入过程将自动使用项目文件重新调整“Gradle”文件。)
  • B -下面的 C 步骤之前,不要忘记通过在以下 3 个文件中更改它们来手动修改包中要更改的文件夹的名称:'AndroidManifest.xml'、'MainActivity.java'(或您的名称最终选择您的第一个活动)和“build.gradle(模块:app)”文件。
  • C - 按照上述步骤 1 到 6(“在您的项目窗格中,单击小齿轮图标...”)-> https://stackoverflow.com/a/29092698/2001610
  • D - 仅当您现在想更改根文件夹的名称时,您可以按照“A”流程进行操作,如上所述。
于 2016-06-06T16:34:31.217 回答
1

在您按照这些技术之一重命名您的包后,您可能会开始看到错误。

如果/当您的 R.java 没有正确生成时,您的项目中会出现很多错误,error: cannot find symbol class R而且error: package R does not exist.

请记住检查您的应用程序清单 xml。清单包名称必须与实际包名称匹配。似乎 R.java 是从应用程序清单生成的,如果不匹配,可能会导致这些错误。

记得检查package你的属性匹配<manifest package="com.yourcompany.coolapp">

于 2016-08-23T16:38:15.467 回答
1

在 Android Studio 中重命名包名,点击项目部分的设置图标,取消勾选Compact empty Middle Packages,之后包会拆分成多个文件夹名,然后在需要改名的文件夹上右击,点击refactor -> Rename ->在-> Refactor -> Refactor Directory中键入要更改的名称,然后在整个项目中导入 R.java 文件。为我工作。

于 2016-09-23T15:02:21.587 回答
1
  • 首先,您需要转到左侧出现的设置图标。单击该下拉菜单并取消选中 Compact Empty Middle Packages

转到您的 AndroidManifest.xml

  1. 选择所有你的包,然后右键单击那里
  2. 重构然后重命名你想要的。
  3. 然后转到您的 build.gradle,然后使用您在 Android Manifest 中的包名称更改 Applicationid。

它为我工作

于 2017-10-17T09:37:50.113 回答
1

我需要运行 File->Invalidate Caches/Restart... 来删除原始包的残余

于 2018-02-16T12:28:07.930 回答
1

问题问:

是否包含自动重构?

我想进行批量重构,但我不知道如何。我在 Eclipse 上工作了两年,在 Eclipse 中它是一键式操作。

好吧,几乎是一键式自动重构,但只是第一步,即创建新包的一小步。这是下面的完整解决方案。

您可以通过创建新包(包括所需的文件夹路径)来重命名包,然后从旧包拖放(并让 Android Studio 负责将各种引用从旧包重构到新包), 如下:

  1. 右击javaapp右键点击app下的java
  2. 选择NewPackage 在此处输入图像描述
  3. 选择新包的位置为 ../app/src/main/java在此处输入图像描述
  4. 输入新包的全名在此处输入图像描述
  5. 将创建新包。现在,从旧包拖放到新包。如果您想检查 Android Studio 是否正确执行重构,请预览重构。如果一切看起来都不错,请继续重构。

注意:由于最近应用程序 ID 和包名已解耦,请注意以上仅用于重命名包名。要更改应用程序 ID,您可以在build.gradle.

于 2020-05-22T03:36:24.607 回答
0

如果您的包以 开头,mypackageold.something.test那么您不能更改为mypackagenew.somethingnew.testnew.

在这种情况下,如果我遵循上述接受的答案步骤,结果将是mypackageold.somethingnew.testnew.

只有当您的包裹以新包裹开头时com....,上述接受的答案才会起作用。

因此,如果您想从根级别更改包

  1. 在清单中更改所需的包名称,
  2. 在 Android 标签下删除旧包和 Crate New Package,
  3. 将旧包中的所有文件拖到新包中,
  4. 在 Manifest 中还更改了这些文件的包名称,
  5. 清洁项目,
  6. 打开build.gradle和更新applicationId
于 2016-07-05T09:42:57.383 回答
0

还有一个很好的键盘快捷键,只需单击n选择Class / Package要重命名的,然后按ALT + 两次 R Shift+F6

这反映了:-> Refactor Android Studio 中的菜单和Rename功能。重命名现有包后,它会显示在底部,reflection / rename如果单击Refector按钮,它将改变Class name / Package name整个项目中使用的位置。

于 2017-02-28T06:25:56.730 回答
0

例如,如果您想将包从 com.example.a 更改为 com.example.b

1)将项目样式文件夹从android更改为包(在项目端)

2)右键单击文件夹顶部,然后单击路径中的替换

3)在项目按钮中选择

4)在第一个输入写com.example.a

5) 在第二个输入中写入 com.example.b

6)当你看到警告选择全部替换以替换值

完成替换后你可以看到你的包名是 com.example.b

于 2018-05-15T19:37:36.723 回答
0

接受的答案对我不起作用。这是一个 python 脚本,用于直接在源文件上更改包名称。

"""
Notes:
1 - This script it for python3
2 - Create a backup first
3 - Place on the root folder of the android project you want to change
4 - run `python change_android_studio_pkg_name.py`
5 - Type the old package name
6 - Type the new package name
7 - Clean and Rebuild on Android Studio
8 - SRC folder names won't be changed but app will work
"""

import os, glob, traceback
from pathlib import Path

def rwf(fp, mode="r", data="" ):
    if mode == "r":
        with open(fp, "r", encoding='utf8') as f:
            return(f.read())
    elif mode == "w":
        with open(fp, "w", encoding='utf8') as f:
            f.write(data)

old_pkg = input("Old PKG\n").strip()
new_pkg = input("New PKG\n").strip()

if not old_pkg or not new_pkg:
    exit("Args Missing")

dirname, filename = os.path.split(os.path.abspath(__file__))
file_types = ['xml', 'txt', 'json', 'gradle', 'java']
_fs =  glob.iglob(f"{dirname}/**", recursive=True)
for file_path in _fs:
    ext = Path(file_path).suffix.replace(".", "").lower()
    if os.path.isfile(file_path) and ext in file_types:
        try:
            content = rwf(file_path)
            new_content = content.replace(old_pkg, new_pkg)
            rwf(file_path, "w", new_content)
        except:
            print(traceback.format_exc())
            pass

python3要点

于 2019-12-03T11:42:52.250 回答
0

对我来说,我只是更改了库模块的目录名称而不是包名称,然后单击底部的 Do refactor(例如:来自 com.reg.register -> com.reg1.register)。

之后,确保您更新了构建 gradle 文件和清单文件中的新目录名称。

重建项目。

于 2020-01-26T19:18:42.187 回答
0

package在目录中创建一个新的java并将您的项目移动到该包中。就像您当前的项目 ID 一样,com.testapp.user并且您想更改它xyz.testapp.user。然后在名为 xyz 的目录中创建一个包src/java并将您的子包移动testapp.user到 xyz。这个对我有用。最后,更新 build.gradle 和manifest项目 id。

于 2020-02-26T02:33:16.607 回答
0

它对我来说很好用

Change Following.

第 1 步:确保 ApplicationId 和 PackageName 相同。例子 :

  android {
  defaultConfig {
                     applicationId "com.example.myapplication"
                 }
       }
 and package name the same. package="com.example.myapplication"

第 2 步 在我的情况下删除 iml 文件:

  Go To Project> >C:\Users\ashif\Documents\MyApplication  .iml file // delete 
if you forget Project Path Then Go To android Studio Right Click on app and go to  Show in Explorer you get your Project and remove .iml file

步骤 3 关闭项目

第 4 步 现在复制您的旧项目并粘贴任何其他根目录或复制项目文件夹并粘贴任何其他目录。

 Example C:\Users\ashif\Documents/MyApplication 

第 5 步

Now open Android Studio and open Existing Project 
C:\Users\ashif\Documents/MyApplication 

试一试会奏效

于 2020-07-28T08:43:35.550 回答
0

如果您重命名的唯一原因是避免与具有相同包名的另一个构建(或系统应用程序)发生冲突,那么您可以只重命名应用程序applicationId文件中的build.gradle

示例:假设您已经安装了一个带有 id 的应用程序com.android.phone(您想保留它),请将您的更改app/build.gradle为:

android {
    defaultConfig {
        applicationId "com.android.phone.mymod"

}

即,如果您已经有一个带有包名的应用程序com.android.phone并且不想/不能卸载它(例如,因为它是一个系统应用程序并且设备没有root),那么上面的更改就是拥有您的应用程序所需要的全部与原始应用程序并排安装。在设备上applicationId,将使用的是什么,而不是实际的包名称。此外,您的应用数据将存储在/data/data/com.android.phone.mymod而不是/data/data/com.android.phone.

注意。在某些情况下,您可能还需要重命名AndroidManifest.xml文件中的提供者和授权机构的名称。

参考:

当您在 Android Studio 中创建一个新项目时,它applicationId与您在设置期间选择的 Java 样式的包名称完全匹配。但是,应用程序 ID 和包名称在此之后相互独立。您可以更改代码的包名称(您的代码命名空间),它不会影响应用程序 ID,反之亦然(但同样,一旦发布应用程序,您不应更改应用程序 ID)。但是,更改包名还有其他后果您应该知道,因此请参阅有关如何更改包名的部分。

于 2020-08-15T17:39:26.607 回答
-2

这很容易做到。只需遵循两个步骤:

  1. 右键单击根文件夹,然后单击打开模块设置。

  2. 在此之后转到风味选项卡并根据需要更改应用程序 ID。

对于那些认为这只会更改 build.gradle 文件中的应用程序 ID 的人:

谷歌写的是

在您构建的 .apk 清单中使用的最终包是“应用程序 ID”,即您的应用在您的设备和 Google Play 商店中的名称。

源代码中用于引用 R 类和解析任何相关活动/服务注册的包仍称为“包”。

您可以在http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename上阅读更多内容

于 2016-05-13T17:21:36.767 回答