android - studio修改包名 - 修改app包名
Android Studio重命名包 (20)
如何在基于intelijj的新IDE Android Studio中重命名包?
是否包含自动重构?
我想进行批量重构,但我不知道如何。 我在eclipse和eclipse上工作了2年,这是一次单击操作。
在Android Studio中,您可以这样做:
例如,如果您想要将com.example.app
更改为my.awesome.game
,那么:
在您的项目窗格中 ,点击小齿轮图标( )
取消选中/取消选择
Compact Empty Middle Packages
选项
您的软件包目录现在将在各个目录中分解
单独选择要重命名的每个目录,并且:
- 用鼠标右键单击它
- 选择
Refactor
- 点击
Rename
- 在弹出对话框中,单击
Rename Package
而不是重命名目录 - 输入新名称并点击Refactor
- 点击底部的重构
- 稍等片刻让Android Studio更新所有更改
- 注意:在Android Studio中重命名
com
时,可能会发出警告。 在这种情况下,请选择 全部重命名
- 现在打开你的Gradle构建文件 (
build.gradle
- 通常是app
或mobile
)。 将applicationId
更新为新的Package Name和Sync Gradle,如果它尚未自动更新:
您可能需要更改清单中的
package=
属性。清洁和重建。
完成! 无论如何,Android Studio需要使这个过程更简单一些。
- 在Java文件夹中选择包名称。
- Shift + F6
- 更改软件包名称并单击确定。
您的软件包名称将从所有Java文件和清单文件中更改。 您必须手动更改build.gradle中的软件包名称
3年后的额外答案,当然如果以前没有为您工作,因为“某事”。
- 转到项目路径>你在哪里找到java文件和包
- 创建新的文件夹,例如com> super_package>活动
- Android Studio将刷新项目结构
- 将所有Java文件移动到新文件夹
- 删除旧的文件夹
- 编辑>查找>替换路径:
- 将旧的软件包名称更改为新的
- 在清单中也会改变并建立gradle
完成!
Intelli J有一个名为“Compact Empty Middle Packages”的选项。 选择项目选项卡的选项 - 图标并取消/激活它。
请参阅: 我如何更改IntelliJ中的顶级包名称
更新回答:2015年5月
好的,我一直在Android Studio中克隆和重命名项目,但最终我实现了它。 以下是要遵循的步骤:
- 复制项目文件夹,重命名并使用Android Studio打开它
- 从资源管理器重命名模块目录
- 重命名projectName.iml和内容
- 重命名idea / .name内容
- 在您的项目窗格中,单击小齿轮图标 - >取消选中“Compact Empty Middle Package”
- 为新包名称重新命名src目录(重命名包,“不重命名目录”)
- 在build.gradle重命名应用程序ID
- settings.gradle重命名模块
而已...
人们常犯的错误是无法重命名包结构,即当com.name.android级别尝试修改com.name.android为com.Renamed.android时,无法将其更改为com.name.android。
为了有相同的期望的变化去一级,即com.name和这里当你重构改变它重命名。 这将始终工作
包有两个目的。 一种是在Google Play商店中唯一标识您的应用。 另一种是命名您生成项目时生成的R.java类的包。 您可以将第一个用途看作是外部软件包,将第二个用作内部软件包。 假设您想更改外部软件包,以便您可以在Play商店中识别,则可以使用这种便捷的方法。
在Android Studio中,选择“文件”>“项目结构”>“选择您的应用程序的模块”>单击“风味”选项卡>更改应用程序ID。 现在,当你建立你的项目时,你的APK和清单将使用这个新的包名称。
右键单击项目面板中的包。
从上下文菜单中选择重构 - >重命名。
右键单击包 - >重构并更改名称。 您也可以在清单中更改它。 有时如果你改变软件包名称,但创建apk之后,它会显示当时不同的软件包名称,请检查build.gradle文件中的“applicationId”。
如果您的软件包名称是两个以上的点分隔的,请说com.hello.world
,而且,您没有将任何内容放在com/
和com/hello/
。 所有的类都放到com/hello/world/
,你可以按照以下步骤在Android Studio或IntelliJ中重构你的包名:
- [第一]在你的目录下添加一些东西(
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
)重建并运行你的项目,看它是否工作。 然后使用“在路径中查找”来查找您想要重命名的其他非触摸名称。
- 好好享受。
对于我来说,即使是在所有相关模块中更改事件,对于我想在包中修改的文件夹名称,对于我而言,这对我而言都很好,但对于我而言, 只有遵循以下步骤才能正常工作:
- A - 如果您想更改根文件夹的名称(换句话说,文件夹的名称是包中主要使用的文件夹的名称),您可以在执行以下步骤(B到C) 之前或之后执行退出“Android Studio”并手动重命名此根文件夹。 点击“导入项目...”,然后点击项目的新名称(此导入过程将自动使用项目文件重新调整'Gradle'文件。)
- B - 在下面的C步骤之前 ,不要忘记通过在以下3个文件中更改它们来手动修改要在包中更改的文件夹名称:'AndroidManifest.xml','MainActivity.java'(或您的名称最终选择你的第一个活动)和'build.gradle(Module:app)'文件。
- C - 按照上述步骤1至6(“在项目窗格中,单击小齿轮图标...”) - > https://.com/a/29092698/2001610
- D - 仅当您想要现在更改根文件夹的名称时,您可以按照上述的'A'过程进行操作。
我发现了一个更简单的方法来解决这个问题,它也改变了像com.test.testpackagechange.R
这样的生成的导入,只需要大约一分钟。
你的第一步是打开Android Studio并打开替换所有窗口(Mac:cmd + shift + R,Windows我假设:ctrl + shift + R)。 输入您的旧软件包名称以及新软件包名称下方的名称。 点击查找。 这可能需要一段时间,因为它也在查看生成的项目。 如果它有超过1000次点击,请点击继续。
完成之后,请按全部替换以将新包名替换为新包名。
现在关闭Android Studio并转到Mac上的Finder或Windows上的Windows资源管理器。 将文件夹的名称更改为新的软件包名称,如下所示:
现在再次打开Android Studio。 Gradle将同步,您的软件包名称应该更改为新名称。
我发现这是最简单的一个,涵盖生成文件等所有领域。
我发现了另一种方法,或者对这里的某些答案采取额外步骤,特别是如果您还想更改域名。 适用于Android Studio 1.4。 这就是我所做的:
- 打开Manifest.xml并将软件包名称更改为所需内容。
- 打开您的应用程序build.gradle文件,并将defaultConfig中的应用程序标识更改为与清单中相同的名称并重建该项目。
- 如果仍然存在问题,请打开包名称下的文件,进入包裹面包屑(即文件头部的包装声明),并将光标设置到您想要更改的域并点击“Shift + F6”,它会出来一个包含多个使用警告的对话框,点击“Rename packages”,然后点击“Do Refactor”,它应该重命名包括R.Java文件在内的所有内容。
例如,如果您想要将“com.example.app”重命名为“com.YourDomain.app”,请在程序包breadcrumbs中打开包名称下的文件,将光标设置为域的“示例”部分然后按Shift + F6并将程序包重命名为“YourDomain”。
希望这可以帮助 :)
我建议使用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! 就这样:)
我相信你在寻找的是Refactor> Move。 您也可以按F6键。
你会得到两个弹出窗口。 确保你选择了重命名包。 之后你会弹出一个新的包名称。
请注意,如果您的软件包名称是com.example.android.projectname,那么这会让您将com.example.android更改为其他内容。
还有一件事,它会更新build.gradle中的applicationId。 只要确保选中“在评论和字符串中搜索”和“搜索文本发生”复选框都可以使用。
更改应用程序ID (现在独立于软件包名称)可以通过一个步骤轻松完成。 您不必触摸AndroidManifest。 而是执行以下操作:
- 右键单击项目的根文件夹。
- 点击“打开模块设置”。
- 转到Flavors选项卡。
- 将applicationID更改为所需的任何软件包名称。 按OK。
请注意,这不会更改软件包名称。 Package Name和Application ID的解耦在这里解释: http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename : http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename
编写新软件包名称并从旧软件包名称拖放的最佳方法。 第二种方法是,如果您单击重构,然后移动选项,然后重命名包名称,它将重命名包名称然后重新生成。
在Build.gradle你必须手动完成,如果你重构那么它将不会在Build.gradle中重命名。
请尝试以下步骤:
- 点击设置齿轮图标并取消选择Compact Empty Middle Package
- 现在我们可以看到每个包文件夹被分解成多个部分
- 现在右键单击第一个包文件夹>>> refactor >>> rename
- 现在会显示警告,但您继续并单击重命名包
- 之后,输入您的域名作为包名称
- 点击'重构'
- 现在它已经改变了App的软件包域名。 现在根据您的要求更改域扩展名和应用程序文件夹名称
- 现在在Gradle脚本中打开build.gradle(Module:app)。 这里更改应用程序ID并单击立即同步。
*******最后它已完成******