完整变更套件名称,包括公司网域


81

让我们假设这是程序包名称: package com.company.name。我该如何改变company

附言:我看到了如何改变,name但没有company。我正在使用Android Studio。


我开始做一个项目,我需要改个company词,因为这个项目是给公司用的。以及为什么使用删除键?哪里?
Filip Luchianenco


只需创建一个新程序包,然后选择要移动的类,然后将其拖放到新创建的程序包中,然后进行重构,即可为我完成这项工作
Manee.OH

Answers:


48

你可以这样做:

在清单文件中手动更改软件包名称。单击您的R.java类,然后按F6(“重构”->“移动...”)。它将允许您将类移动到其他包,并且对该类的所有引用将被更新。

参考:如何重命名android包名称?


48

当前软件包:com.company.name

新包装:com.mycomapny.name

步骤:1)假设您位于此屏幕,如下所示。

在此处输入图片说明

2)打开项目窗格,然后单击设置图标。

3)取消选择紧凑空中间包装。

4)然后,您的包装现在分成如下所示的各个部分。

5)右键单击“公司”,选择“重构”->“选择重命名”->“重命名”目录。

在此处输入图片说明

6)现在,您的“公司”已更改为新的“ mycomapny”,并且已反映出更改,如下图所示。

在此处输入图片说明

7)现在,在AndroidManifest.xml文件中更改包名称。

在此处输入图片说明

8)打开应用程序级别build.gradle并更改包名称。

在此处输入图片说明

9)您将收到错误消息,因为无法解析符号“ R”。

10)删除出现此错误的行,然后studio将自动导入新的R文件。

11)如果您有多个文件,请使用“查找并替换”选项,方法是按“ Cntrl + Shift + R”

或“选择“编辑”->“查找”->“替换路径”。

在此处输入图片说明

12)选择全部替换。


31

这对我有用,来自https://stackoverflow.com/a/18637004/127434

另一个好的方法是:首先通过右键单击java文件夹-> new-> package创建一个具有所需名称的新包。

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

最后,删除旧软件包。


这对我来说部分起作用,但是它没有解决“ import com.company.foo”语句。我能够使用src /目录中的全局替换来完成后者。
LarsH '16

9

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

例如,如果要将com.example.app更改为iu.awesome.game,则:

  1. 在项目窗格中,单击小齿轮图标(在此处输入图片说明
  2. 取消选中/取消选择“紧凑空中间包装”选项 在此处输入图片说明
  3. 现在,您的包目录将被分解为单个目录
  4. 分别选择要重命名的每个目录,然后:

    • 右键点击
    • 选择重构

    • 单击重命名

    • 在弹出对话框中,单击“重命名软件包”,而不是“重命名目录”。

    • 输入新名称并点击“重构”

    • 单击底部的执行重构

    • 请稍等一下,让Android Studio更新所有更改

    • 注意:在Android Studio中重命名com时,它可能会发出警告。在这种情况下,请选择“重命名”在此处输入图片说明

      1. 现在打开您的Gradle构建文件(build.gradle-通常是应用程序或移动设备)。如果尚未自动更新defaultConfig中的applicationId,则将其更新为新的程序包名称和同步Gradle:在此处输入图片说明

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

      3. 清理并重建。

      4. 做完了!无论如何,Android Studio需要使此过程更加简单。


8

如果您只想重命名App包,则@Luch Filip的解决方案效果很好。就我而言,我也想重命名源包,以免混淆。

仅需要两个步骤:

  1. 单击您的源文件夹,例如com.company.example> Shift + F6(Refactor-> Rename ...)> 重命名包>输入所需的名称。

  2. 转到您的AndroidManifest.xml,单击您的包名称> Shift + F6(“重构”->“重命名...”)>输入与上面相同的名称。

第1步将自动重命名R.java文件夹,您可以立即进行构建。


一切正常,除了我得到“ IOException:无法重命名(...)”为主源文件夹。简单的项目,刚刚打开。
kaay 2015年

1
我使用Android Studio 2.1.1。我的特定例如,首先,我有info.apachehive.cardview,我想要net.vyhn.cardview步骤1.选择树形视图源代码。步骤2.单击apachehive,按Shift + F6 Refactor \ Rename to vyhn步骤3.单击info文件夹,按Shift + F6 Refactor \ Rename to net。文件AndroidManifest.xml自动更改。然后运行调试,我的应用程序运行良好。
努维

5

以下是四个步骤:

  1. 点击下面的应用文件夹:

在此处输入图片说明

com.new25.impro。按Shift + F6 {Refactor-> Rename ...}重命名程序包,然后按refactor

  1. 在那之后,请参阅android监视器。那个包名随处可见的变化。点击refactor

  2. app:change像输入名称一样转到模块的应用程序ID。然后点击sync now

  3. 现在,您可以将软件包名称更改为所需的名称。


2

1)在Android Studio中打开项目文件夹。
2)选择应用程序文件夹->右键单击,然后选择重构
3)单击移动。它会问你自己完整的包名,其软件包名称类型,它会要求创建一个新的包是新的自动要求建立gradlesync


也许您可以添加一些屏幕截图。
Asim KT

2

要在Android Studio中重命名包名称,请点击项目部分中的设置图标,然后取消选中“紧凑的空中间包”,然后该包将拆分为多个文件夹名称,然后右键单击您需要更改名称的文件夹,单击重构->重命名->在->重构->重构目录中键入要更改的名称,然后在整个项目中导入R.java文件。为我工作。


2

我已经读了几乎所有答案。但是我认为一个人不见了。有时候我可能是错的。我使用了下面的方法,它正在工作。

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

  1. 选择您的程序包,然后右键单击重构->移动
  2. 选择将包从“您的包”移到另一个包,然后单击“确定”。
  3. 出现一个新对话框,说多个目录对应于软件包“您的软件包”,然后单击“是”
  4. 输入新的软件包名称(姓氏或姓氏除外)。表示是否要将包名称重命名为“ info.xyz.yourapplication”。然后键入“ info.xyz”,仅保留“ yourapplication”。
  5. 单击重构
  6. 一个新对话框,包info.xyz不存在。您要创建它吗?点击
  7. 单击执行重构
  8. 右键单击新程序包以更改姓氏。重构->重命名
  9. 重命名套件
  10. 键入新名称,然后单击“执行重构”
  11. 删除所有旧的软件包目录。
  12. 更改build.gradle文件中的ApplicationId并单击立即同步

1
对我来说,这是最好的答案。谢谢。
哈桑·埃夫纳威

1

如果您的公司域/软件包名称很长,则比较棘手。

这是我所缺少的链接。您需要选择项目文件->设置->然后取消选中“压缩空的中间类”。


0

最简单的方法是将根应用程序文件夹从重命名com.example.MyAppcom.newcompanyname.MyNewAppName,然后在使用的任何IDE中将所有出现的旧路径替换为新路径。


0

我找到了另一个在整个项目中重命名软件包的解决方案:

在包中打开一个文件。IntelliJ在打开的文件上方显示文件的面包屑。在要重命名的软件包上:右键单击>重构>重命名。这将在整个项目中重命名包/目录。


0

我也遇到了同样的问题,这就是我的解决方法:-

我想将包名称np.com.shivakrstha.userlog更改为np.edu.khec.userlog

我选择了shivakrstha,然后按Shift + F6来命名Refract Refract,并将其重命名为khec

最后,在AndroidManifest.xml中使用相同的包名称,在build.gradle中使用applicationId,不要忘了重新构建项目

注意:-我尝试将np更改为jp,所以我选择了np,然后按Shift + F6重命名折射并重命名为jp,也可以更改其他名称。


0

这可能对您有帮助-1)打开包文件。2)Android Studio在打开的文件上方显示文件的面包屑。在要重命名的软件包上:右键单击>重构>重命名。

在此处输入图片说明


0

我没有更改任何软件包名称。以下两个步骤对我有用。完成以下步骤后,即使有两个具有相同程序包名称的应用程序,该应用程序也被安装为NEW。

1)在build.gradle中

applicationId“ mynew.mynewpackage.com”

2)在AndroidManifest.xml中android:authorities =“ mynew.mynewpackage.com.fileprovider”


-2

嗨,我发现了最简单的方法。

  1. 使用所需的包名称创建一个新项目
  2. 将所有文件从旧项目复制到新项目(所有文件在old.bad.oldpackage => new.fine.newpackage中,res => res)
  3. 在新的build.graddle中复制旧的build.graddle
  4. 在新清单中复制旧清单
  5. 备份或仅删除旧项目

做完了!


那不是最可靠的方法,只需重构就能完成工作,想象某人拥有更复杂的项目,该项目具有样式,变暗,可绘制对象,库。此方法需要很多时间。
阿米尔·多拉

1
如果您一步一步地遵循我的方法,那将是可靠的;而如果您遵循它们,那将是非常快速的。只需忘记任何复杂性,并考虑您是从现有资源创建一个新项目,那么正如我所看到的那样,您不知道可绘制的dimens库位于何处,我将向您解释,然后您必须赞成我的答案。1-库是您的build.graddle的ideide,因此,如果您备份文件,则只需将内容复制到新的build.graddle中即可。2- drawables,dimens,styles都在res文件夹中。所以如果你有两个项目新/老(包)开放的U只需要拖/放
马丁快活

有时候,折射比您想像的要复杂得多,因为我尝试没有成功,然后使用我的方法,每件事都像魅力一样运转
Martin Jovial

是的,马丁,同意这也是一种方法并且有效。但这不是最快的方法。感谢您的详细回答。
阿米尔·多拉
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.