在Android Studio中重命名包

时间:2013-05-29 01:24:49

标签: android-studio

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

是否包含自动重构?

我想进行批量重构,但我不知道如何。我在Eclipse工作了两年,在Eclipse中工作了一次。

52 个答案:

答案 0 :(得分:2368)

在Android Studio中,您可以执行以下操作:

例如,如果您想将com.example.app更改为my.awesome.game,那么:

  1. 项目窗格 中,点击小齿轮图标(Gears icon

  2. 取消选中/取消选择Compact Empty Middle Packages选项

    Compact Empty Middle Packages

  3. 您的包目录现在将在各个目录中分解

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

    • 右键单击
    • 选择Refactor
    • 点击Rename
    • 在弹出对话框中,单击Rename Package而不是重命名目录
    • 输入新名称,然后按重构
    • 点击底部的 Do Refactor
    • 等一下让Android Studio更新所有更改
    • 注意:在Android Studio中重命名com时,可能会发出警告。在这种情况下,请选择 重命名全部

    Enter image description here

  5. 现在打开 Gradle Build File build.gradle - 通常是appmobile)。如果尚未自动更新,请将applicationId中的defaultConfig更新为新的套餐名称和同步套餐:

    Refactor Directories

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

  7. 清理并重建。

  8. 完成! 无论如何,Android Studio需要让这个过程更简单。

答案 1 :(得分:503)

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

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

最后,删除旧包。

完成。

非常重要:

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

答案 2 :(得分:179)

更改应用程序ID (现在独立于程序包名称)可以在一个步骤中轻松完成。 您无需触摸AndroidManifest。 而是执行以下操作:

  1. 右键单击项目的根文件夹。
  2. 单击“打开模块设置”。
  3. 转到Flavors选项卡。
  4. 将applicationID更改为您想要的任何包名称。按确定。
  5. 请注意,这将更改包名称。这里解释了包名称和应用程序ID的分离: http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename

答案 3 :(得分:60)

我用于重命名包名称的方法很简单,如下所示: -

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

enter image description here

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

enter image description here

第3步 :输入新的包名称

enter image description here

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

enter image description here

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

enter image description here

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

enter image description here

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

enter image description here

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

enter image description here

第9步 :然后,您将在项目中找到旧导入包名称的一些错误 在任意文件中选择旧包名称,然后按 CTRL + Shift + R ,然后在替换框中输入新包名称,然后按查找

enter image description here

第10步 :然后弹出如下所示,并从中选择所有文件选项

enter image description here

第11步 :重新构建项目,宾果项目包名已更改:)

答案 4 :(得分:41)

右键单击项目面板上的包。

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

答案 5 :(得分:36)

  1. 转到AndroidManifest.xml文件。
  2. 将光标放在包名称中,如下所示。不要选择它,只需放置它。

    Enter image description here

  3. 然后按 Shift + F6 您将看到一个弹出窗口,如下所示 重命名包

    Enter image description here

  4. 输入新名称,然后选择重构。 (注意,因为我的光标在“某物”上,所以只重命名了。)

  5. 就是这样。

答案 6 :(得分:22)

  1. 打开文件:

    app→显示→AndroidManifest.xml

    Enter image description here

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

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

    在包名称的每个部分中执行以下步骤。

    Enter image description here

  2. 打开(Gradle Script)>> (的build.gradle(模件:APP))

    并将 applicationId 更新为您的包名称

    Enter image description here

  3. 打开菜单(构建)并选择(重建项目)。

答案 7 :(得分:14)

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

请参阅: How can I change top level package name in IntelliJ IDEA?

答案 8 :(得分:14)

选择要重构的包。 重构移动"将xxx移至新包"

答案 9 :(得分:11)

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

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

introducir la descripción de la imagen aquí

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

introducir la descripción de la imagen aquí

建议您重构包裹:

introducir la descripción de la imagen aquí

然后窗口会显示项目中的巧合,选择 "Do Refactor"

introducir la descripción de la imagen aquí

我们无需手动更改AndroidManifest.xml或build.gradle文件,重构软件包即可完成工作!

答案 10 :(得分:8)

如果您的包裹名称超过两个点,请说com.hello.world,而且您没有在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+1    或Command+1表示快捷方式)并重命名目录重构    像你期待的那样在那里等待。

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

  • 如果您的项目中有很多课程,则需要一段时间等待其自动扫描和重命名。

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

  • [ALSO] ,可能需要您将所有com.hello.world.R替换为新XXX.XXX.XXX.R(简称Command+Shift+R

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

  • 享受它。

答案 11 :(得分:5)

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

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

enter image description here

完成后,按“全部替换”将旧包名替换为新包名。

enter image description here

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

enter image description here

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

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

答案 12 :(得分:5)

更新回答:2015年5月

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

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

答案 13 :(得分:4)

我找到了另一种方法,或者在这里解决了一些额外的步骤,特别是如果你想改变域名的话。它适用于Android Studio 1.4。这就是我所做的:

  1. 打开Manifest.xml并将包名更改为您想要的名称。
  2. 打开您的应用build.gradle文件,将defaultConfig中的Application Id更改为与manifest中相同的名称,然后重建项目。
  3. 如果仍有问题,请打开包名称下的文件,转到包breadcrumbs(即文件头部的包声明)并将光标设置到要更改的域并点击“Shift + F6”,它会出现一个带有多个使用警告的对话框,单击“重命名包”,然后点击“Do Refactor”它应该重命名包括R.Java文件在内的所有内容。
  4. 因此,例如,如果要将“com.example.app”重命名为“com.YourDomain.app”,请打开要重命名的包下的文件,在包breadcrumbs中,将光标设置为“example”部分域名并点击 Shift + F6 并将包重命名为“YourDomain”。

答案 14 :(得分:4)

enter image description here

3 Methods to change package name in Android Studio

我认为这是新的。我试过了,它正在工作。如果以上都不适合您。尝试这个。我在上面提到的站点中,图像教程也有2种其他方法。我也检查了。

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

  1. 右键单击要更改的程序包名称,然后选择重构->移动
  2. 出现一个新对话框,选择将“ com.androidride.myapplication”程序包移至另一个程序包,然后单击“ 确定”。
  3. 出现警告对话框,单击
  4. 在新对话框中输入新的软件包名称。但是只有“ info.xyz”会离开您的应用程序。
  5. 现在,您将看到一个警告对话框,指出软件包info.xyz不存在。您要创建它吗?点击
  6. 点击“ 进行重构” 。现在,您的软件包名称更改为 info.xyz.myapplication
  7. 右键单击 info.xyz.myapplication Refactor-> Rename
  8. 点击重命名包
  9. 重命名对话框:将我的应用程序更改为您的应用程序
  10. 点击重构
  11. 删除旧程序包名称目录,并在 build.gradle 中更改应用程序ID,将其更改为 info.xyz。您的应用程序
  12. 仅此而已。

答案 15 :(得分:4)

可以犯的一个常见错误是无法重命名包结构,即无法将 com.name.android 更改为 com.Renamed.android 一个人试图在 com.name.android 级别进行修改。

为了获得相同的所需更改,请升级一级,即 com.name ,此时重构时将其更改为重命名。这将始终有效。

答案 16 :(得分:4)

我尝试了两个最高投票的解决方案,但发现了一些问题,尽管两者都在某种程度上有效。

  • 列表项:新的package-drag-drop方法保留一些不变并产生一些不良影响
  • 列表项:重命名包仅更改包名称的最后一部分

经过一些实验,我发现以下方法适合我。

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

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

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

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

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

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

答案 17 :(得分:3)

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

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

答案 18 :(得分:3)

请务必转到Sheharyar's great Answer。随之而来的答案和评论很多,很容易让人感到困惑和放弃,但不要。答案有效

简而言之,你做三件事

(1)取消选择Compact Empty Middle Packages

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

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

答案 19 :(得分:3)

请尝试以下步骤:

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

答案 20 :(得分:3)

我相信你要找的是Refactor>移动。您也可以按F6。

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

请注意,如果您的软件包名称是com.example.android.projectname,那么您可以将com.example.android更改为其他名称。

还有一件事,这将更新build.gradle中的applicationId。只需确保选中"在评论和字符串中搜索"和"搜索文本事件"检查它是否正常工作。

答案 21 :(得分:2)

ctrl + Shift + R 一直对我有用。 只需replace all并选择All Files

答案 22 :(得分:2)

  • 第一部分包括在java文件夹下创建一个新包,然后选择将所有源文件从old package拖到此new package。之后,您需要remane android manifest中的包名称为新包的名称。

  • 在第2步中,您需要执行此操作。除了更改包之外,您还需要更改android studio中模块applicationId下的build.gradle中的旧包名称manifest中的名称。总而言之,点击“AndroidManifest.xml”下方的build.gradle,然后将applicationId的值修改为新的包名。

  • 然后,在最顶层,build下。 clean您的项目,然后是rebuild。从这里开始应该没问题。

答案 23 :(得分:2)

  1. Ctrl + Shift + R

  2. 用新的包替换旧包。

  3. 右键单击包名称。

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

答案 24 :(得分:2)

快捷方便:

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

在顶部有包声明,例如:

  

package com。example。myapp;

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

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

2-打开AndroidManifest.xml并在<manifest>标记内将package更改为所需的包名称。

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

答案 25 :(得分:2)

包有两个目的。一种是在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和清单将使用这个新的包名。

答案 26 :(得分:2)

  1. 选择选项enter image description here

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

  3. 选择要更改的目录(我已选择步骤6中显示的'crl')。
  4. + F6
  5. 重命名包
  6. 将目录crl重命名为crl1 enter image description here

  7. 最后点击下面图片中标记的Do Refactor按钮 enter image description here 在此处输入代码

  8. 完成更改后 enter image description here

答案 27 :(得分:2)

如何将com.example.app重命名为com.android.app

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

  2. Shift + F6

  3. 选择rename package

  4. 将示例重命名为android

  5. 确认do refactor

答案 28 :(得分:2)

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

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

在Build.gradle中你必须手动完成,如果你重构,那么它将不会在Build.gradle中重命名。

答案 29 :(得分:2)

  • 转到项目路径&gt;您在哪里找到Java文件和包
  • 创建新文件夹,例如com→super_package→activities
  • Android Studio将刷新项目结构
  • 将所有Java文件移至新文件夹
  • 删除旧文件夹
  • 菜单编辑查找→替换路径:
  • 将旧包名称更改为新
  • 清单和构建gradle中的更改

完成!

答案 30 :(得分:2)

  1. 在Java文件夹中选择包名称。
  2. + F6
  3. 更改包名称,然后单击确定
  4. 您的软件包名称将从所有Java文件和清单文件中更改。您必须从build.gradle手动更改包名称。

答案 31 :(得分:1)

  

右键单击包名称 - &gt;折射器 - &gt;重命名 - &gt;输入包的名称 - &gt;单击“Refractor”。   不要编辑除“app”文件夹下的“build.gradle”之外的任何构建文件。

来自Renaming android studio project - Vishnu Sivan

答案 32 :(得分:1)

给出了很多答案,但我仍在试用。...

第1步: 如上图所示,选择设置选项...。 enter image description here

步骤2: 选择紧凑的中间包选项... enter image description here

步骤3: 现在展开包,如图所示 enter image description here

第4步: 扩展后看起来像 enter image description here

第5步: 选择子包中的任何一个(例如或示例或googledevsmsverify),然后单击Shift + f6按钮... enter image description here

我选择了中间包示例,因此它将如图所示 简单地重命名程序包,然后单击“重构”按钮

enter image description here

步骤6: 单击“重构”按钮,单击“ DO重构”,然后等待,直到构建gradle,您将看到以下屏幕。 enter image description here

步骤7: 转到build.gradle(Mobile:app)并更改applicationID的包名称,如下所示 enter image description here

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

enter image description here

所有完成的包裹都已更改... @ Ambilpura

答案 33 :(得分:1)

问的问题:

是否包含自动重构?

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

嗯,几乎具有自动重构的一键式操作,但是首先只有一小步,即创建新软件包的一小步。这是下面的完整解决方案。

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

  1. 右键单击java下的appRight click on java under app
  2. 选择NewPackage enter image description here
  3. 选择新软件包的位置,即../app/src/main/java enter image description here
  4. 输入新软件包enter image description here的全名
  5. 将创建新包。现在,从旧程序包拖放到新程序包。如果您想检查Android Studio是否做得正确,请预览重构。如果一切正常,请继续进行重构。

注意:由于应用程序ID和程序包名称最近已分离,因此请注意,以上内容仅用于重命名程序包名称。要更改应用程序ID,您可以在build.gradle中进行操作。

答案 34 :(得分:1)

在您使用其中一种技术重命名包之后,您可能会开始看到错误。

如果您的R.java未正确生成,您的项目中会出现很多错误error: cannot find symbol class Rerror: package R does not exist

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

请务必检查package

中的<manifest package="com.yourcompany.coolapp">属性匹配项

答案 35 :(得分:1)

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

也许早些时候它很难,但截至今天它已经不复存在了。

您可能还想更改

中的应用ID
defaultConfig {
    applicationId 
}

简短&amp;甜

答案 36 :(得分:1)

要在Android studio中重命名包名称,请单击项目部分中的设置图标并取消选中压缩空中间包,然后将包拆分为多个文件夹名称,然后右键单击在您需要更改名称的文件夹上,单击重构 - &gt;的重命名 - &GT; 中键入要更改的名称 - &gt; 重构 - &gt; 重构目录,然后在整个项目中导入R.java文件。为我工作

答案 37 :(得分:1)

我建议使用Sublime Text(或Notepad++)。替换com.one.lastname - &gt; com.two.newname和com / one / lastname - &gt; com / two / newname in ... \ Projects [MyProject]。并且不要忘记重命名... \ 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!

全部:)

Screenshot

答案 38 :(得分:1)

对我来说非常有效,即使是在所有相关模块中更改了我想要在包中修改的文件夹名称,但对我来说,它只能 我完全遵循以下步骤:

  • A - 如果要更改根文件夹的名称(换句话说,文件夹的名称在包中正常使用以包含主体活动),您可以在之前 之后以下步骤(B到C)退出&#34; Android Studio&#34;并手动重命名此根文件夹。点击&#34;导入项目...&#34;然后在项目的新名称上(此导入过程将自动重新调整带有项目文件的&#39; Gradle&#39;文件。)
  • B - 之前以下C步骤,不要忘记通过在以下3个文件中更改它们来手动修改要在包中更改的文件夹名称: &#39; AndroidManifest.xml&#39;,&#39; MainActivity.java&#39; (或者您最终为第一个活动选择的名称)和&#39; build.gradle(模块:应用)&#39;文件。
  • C - 按照上述步骤1至6(&#34;在项目窗格中,单击小齿轮图标...&#34;) - &gt; https://stackoverflow.com/a/29092698/2001610
  • D - 仅当您想立即更改根文件夹的名称时,您可以按照&#39; A&#39;过程,如上所述。

答案 39 :(得分:0)

  • 首先,您需要转到左侧显示的设置图标。单击该下拉列表并取消选中Compact Empty Middle Packages

转到AndroidManifest.xml

  1. 选择所有包,然后右键单击
  2. 重构,然后重命名你想要的方式。
  3. 然后转到build.gradle,然后使用packagename更改Applicationid,这是您在Android Manifest中所拥有的。
  4. 这对我有用

答案 40 :(得分:0)

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

对我来说,最简单,最令人满意的方式是

enter image description here

您能看到突出显示行“ vijayjangid”吗,它以前是“ example”。 我所做的一切都使用Refractor重命名为example,而android studio完成了所有工作。

第一部分完成。

现在将defaultConfig括号中的应用程序ID重命名为您重命名示例文件夹的名称。确保您在Firebase,Aws,领域等云服务中重命名程序包名称和ID。

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

答案 41 :(得分:0)

如果,重命名的唯一原因是避免与具有相同程序包名称的另一个内部版本(或系统应用程序)冲突,那么您可以改为重命名{ {1}}在您应用的 applicationId 文件中。

示例:假设您已经安装了ID为build.gradle(想要保留)的应用,请将com.android.phone更改为:

app/build.gradle

即如果您已经拥有一个软件包名称为android { defaultConfig { applicationId "com.android.phone.mymod" } 的应用程序,并且不想/无法将其卸载(例如,因为它是系统应用程序且该设备未植根),则上述更改为 all em>,以便将您的应用程序与原始应用程序并排安装。在设备上将使用com.android.phone,而不是实际的软件包名称。同样,您的应用数据将存储在applicationId下,而不是/data/data/com.android.phone.mymod下。

注意。在某些情况下,您可能还需要重命名/data/data/com.android.phone文件中提供者和授权者的名称。

参考:

在Android Studio中创建新项目时,AndroidManifest.xml与您在设置过程中选择的Java样式包名称完全匹配。但是,此之后,应用程序ID和程序包名称是相互独立的。您可以更改代码的程序包名称(您的代码名称空间),它不会影响应用程序ID,反之亦然(不过,再次,发布应用程序后,您不应更改应用程序ID)。但是,更改程序包名称还会带来其他后果,因此请参见有关如何change the package name的部分。

答案 42 :(得分: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步 现在复制您的旧项目并粘贴任何其他根目录或复制项目文件夹并粘贴任何 其他Dir。

 Example C:\Users\ashif\Documents/MyApplication 

第5步

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

尝试一下即可

答案 43 :(得分:0)

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

答案 44 :(得分:0)

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

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

重建项目。

答案 45 :(得分: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 gist

答案 46 :(得分:0)

更改程序包名称


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


enter image description here


右键单击>重构>重命名


enter image description here


在新窗口中,按重命名程序包


enter image description here


更改名称并按“重构”


enter image description here


...,然后按底部的“执行重构”。


enter image description here


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

完成!您更改了包裹名称!

答案 47 :(得分: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

答案 48 :(得分:0)

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

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

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

3)在项目按钮中选择

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

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

6)当您看到警告时,选择全部替换以替换值

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

答案 49 :(得分:0)

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

答案 50 :(得分:0)

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

反映了:Android Studio中的 - &gt; Refactor菜单和Rename功能。重命名现有软件包后,如果您点击reflection / rename按钮,则会在底部显示此Refector的效果,它将更改整个项目中使用的Class name / Package name

答案 51 :(得分:-1)

这很容易做到。只需按照两个步骤操作:

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

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

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

    由Google撰写

      

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

      

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

    您可以在http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename

    上阅读更多内容