完全更改包名称,包括公司域
Posted
技术标签:
【中文标题】完全更改包名称,包括公司域【英文标题】:Fully change package name including company domain 【发布时间】:2013-09-04 16:03:21 【问题描述】:假设这是包名:
package com.company.name
。如何更改company
?
附:我看到了如何更改 name
而不是 company
。
我正在使用 android Studio。
【问题讨论】:
我开始做一个项目,我需要把company
这个词换成另一个,因为这个项目是给一个公司的。为什么使用删除键?在哪里?
Android Studio Rename Package的可能重复
只需创建一个新包,然后选择要移动的类,然后将其拖放到新创建的包中,然后重构,这对我有用
【参考方案1】:
你可以这样做:
在清单文件中手动更改包名称。 单击您的 R.java 类并按 F6(重构->移动...)。它将允许您将类移动到其他包,并且对该类的所有引用都将被更新。
参考:How do I rename the android package name?
【讨论】:
【参考方案2】:这对我有用,来自https://***.com/a/18637004/127434
另一个好方法是:首先创建一个新的包 通过右键单击 java 文件夹 -> 新建 -> 包来命名。
然后,选择所有类并将其拖到新包中。 AndroidStudio 将在任何地方重构包名。
最后,删除旧包。
【讨论】:
这部分对我有用,但它没有修复“import com.company.foo”语句。我可以通过 src/ 目录中的全局替换来完成后者。【参考方案3】:如果您只想重命名 App 包,@Luch Filip 的解决方案效果很好。就我而言,我也想重命名源包,以免混淆。
只需要两个步骤:
单击您的源文件夹,例如com.company.example
> Shift + F6 (Refactor->Rename...) > Rename Package > 输入你想要的名字。
转到你的 AndroidManifest.xml,点击你的包名 > Shift + F6 (Refactor->Rename...) > 输入与上面相同的名称。
第 1 步将自动重命名您的 R.java 文件夹,您可以立即构建。
【讨论】:
一切都好,除了我得到主源文件夹的“IOException:无法重命名(...)”。简单的项目,刚刚打开。 我使用 Android studio 2.1.1 。我的具体比如,一开始我有info.apachehive.cardview
,我想要有net.vyhn.cardview
。 步骤 1. 选择树视图源代码。 第 2 步。 点击 apachehive
,按 Shift+F6 重构\重命名为 vyhn
。 步骤 3. 点击 info
文件夹,按 Shift+F6 重构\重命名为 net
。文件AndroidManifest.xml
自动更改。然后我运行调试,我的应用程序运行良好。【参考方案4】:
如果你的公司域名/包名很长,那就比较麻烦了。
这是我缺少的链接。您需要选择项目文件 -> 设置 -> 然后取消选中“压缩空中间类”。
【讨论】:
【参考方案5】:下面给出四个步骤:
-
点击下方的应用文件夹:
com.new25.impro。按 Shift + F6 Refactor->Rename... 重命名包并按refactor
。
在那之后,查看安卓监视器。该节目随处更改该软件包名称。点击refactor
。
转到模块app:change
为您输入的应用程序ID,就像那个名字一样。然后点击sync now
。
现在您可以将包名称更改为您喜欢的名称。
【讨论】:
【参考方案6】:执行此操作的最简单方法是将根应用程序文件夹从 com.example.MyApp
重命名为 com.newcompanyname.MyNewAppName
,然后在您使用的任何 IDE 中将所有出现的旧路径替换为新路径。
【讨论】:
【参考方案7】:我在整个项目中找到了另一种重命名包的解决方案:
打开包中的文件。 IntelliJ 在打开的文件上方显示文件的面包屑。 在要重命名的包上:右键单击 > 重构 > 重命名。 这会在整个项目中重命名包/目录。
【讨论】:
【参考方案8】:我也遇到了同样的问题,这是我的解决方法:-
我想将包名称 np.com.shivakrstha.userlog 更改为 np.edu.khec.userlog强>
我选择了 shivakrstha 并按下 Shift + F6 来重命名折射并重命名为 khec 。
最后,在 AndroidManifest.xml 中使用相同的包名,在 build.gradle 中使用 applicationId 并且不要忘记 Rebuild Your Project .
注意:- 我尝试将 np 更改为 jp,所以我选择了 np 并按下了 Shift + F6 为 Rename Refract 并重命名为 jp,其他的也可以改。
【讨论】:
【参考方案9】:1) 在 Android Studio 中打开项目文件夹。
2) 选择应用文件夹 -> 右键单击,然后选择重构。
3) 点击移动。它将询问您拥有哪个包名称类型的完整包名称,它会要求创建一个新包,是的,它会自动创建新它要求 gradle
到 sync
。
【讨论】:
也许你可以添加一些截图。【参考方案10】:要在Android studio中重命名包名,点击项目部分的设置图标,取消勾选Compact empty Middle Packages,之后包会拆分成多个文件夹名,然后在需要更改的文件夹上右击名字,点击refactor->Rename->在里面输入你要改的名字->Refactor->Refactor Directory,然后在整个项目中导入R.java文件。为我工作。
【讨论】:
【参考方案11】:这可能会对您有所帮助 - 1)打开你的包的文件。 2) Android Studio 在打开的文件上方显示文件的面包屑。 在要重命名的包上:右键单击 > 重构 > 重命名。
【讨论】:
【参考方案12】:当前包:com.company.name
新包:com.mycomapny.name
步骤: 1) 假设您在如下所示的屏幕上。
2) 打开项目面板并点击设置图标。
3) 取消选择 Compact Empty Middle Packages。
4) 然后你的包现在被分解成单独的部分,如下所示。
5)右击“公司”选择重构->选择重命名->重命名目录。
6) 现在您的“company”已更改为新的“mycomapny”,更改如下图所示。
7) 现在更改 AndroidManifest.xml 文件中的包名。
8) 打开应用级 build.gradle 并更改包名。
9) 您将收到无法解析符号“R”的错误。
10) 删除出现此错误的行,工作室将自动导入新的 R 文件。
11) 如果您有多个文件,请按“Cntrl+Shift+R”使用查找和替换选项
或“选择编辑->查找->在路径中替换..”
12) 选择全部替换。
【讨论】:
很好的答案,但你为什么只重命名目录?这就是为什么您使用未解决的符号 R 等遇到所有这些问题的原因。我按照您的说明进行了操作,但重命名了包而不是目录。那么我不必更改清单、R 引用等。【参考方案13】:您好,我找到了最简单的方法。
-
使用所需的包名称创建一个新项目
将所有文件从旧项目复制到新项目(old.bad.oldpackage=>new.fine.newpackage, res=>res 中的所有文件)
将旧的 build.graddle 复制到新的 build.graddle 中
将旧 Manifest 复制到新 Manifest 中
备份或直接删除旧项目
完成!
【讨论】:
这不是最可靠的方法,简单地重构就可以了,想象一下有人有更复杂的项目,有样式、尺寸、可绘制对象、库。这种方法需要很长时间。 按照我的方法一步一步来是可靠的,跟着我的方法是非常快的。忘记任何复杂性并考虑您正在从现有源创建一个新项目,然后我可以看到您不知道可绘制维度库的位置,我会向您解释,然后您必须支持我的答案。 1- 库在您的 build.graddle 旁边,因此如果您备份文件,您只需复制新 build.graddle 中的内容 2-drawables、dimens、styles 都在 res 文件夹中。因此,如果您打开了两个新/旧(包)项目,您只需拖放 有时折射比你想象的更复杂,因为我尝试过但没有成功,然后使用我的方法,一切都像魅力一样发挥作用 是的,马丁,同意这也是一种方法,而且它有效。但这不是最快的方法。感谢您的详细回答。【参考方案14】:在 Android Studio 中,您可以这样做:
比如你想把com.example.app改成iu.awesome.game,那么:
-
在您的项目窗格中,单击小齿轮图标 ()
取消选中/取消选中 Compact Empty Middle Packages 选项
您的包目录现在将分解为单独的目录
单独选择要重命名的每个目录,然后:
右键单击它选择重构
点击重命名
在弹出对话框中,单击重命名包而不是重命名 目录
输入新名称并点击重构
点击底部的Do Refactor
让 Android Studio 更新所有更改
注意:在 Android Studio 中重命名 com 时,可能会出现警告。 在这种情况下,选择重命名全部
现在打开您的 Gradle 构建文件(build.gradle - 通常是应用程序或移动设备)。如果尚未自动更新,请将 defaultConfig 中的 applicationId 更新为您的新包名称和同步 Gradle:
您可能需要更改清单中的 package= 属性。
清理并重建。
完成!不管怎样,Android Studio 需要让这个过程更简单一些。
【讨论】:
【参考方案15】:我已经阅读了几乎所有的答案。但我认为缺少一个。有时我可能是错的。 我已经使用了下面的方法并且它正在工作。
3 Methods to change package name in Android Studio
-
选择您的包并右键单击,重构 -> 移动。
选择将包从“你的包”移动到另一个包,然后点击确定。
会出现一个新对话框,显示多个目录对应于包“您的包”,然后单击是。
输入新的包名,最后一级或姓氏除外。表示如果要将包名称重命名为“info.xyz.yourapplication”。然后输入“info.xyz”,只留下“yourapplication”。
点击重构。
新对话框,Package info.xyz 不存在。你想创建它吗?点击是。
点击重构。
右键单击新包以更改姓氏。 重构-> 重命名。
重命名包
输入新名称并点击Do refactor。
删除所有旧包目录。
在 build.gradle 文件中更改 ApplicationId 并点击 立即同步
【讨论】:
对我来说,这是最好的答案。谢谢。【参考方案16】:我没有更改任何包名。以下两个步骤对我有用。执行以下操作后,应用程序被安装为 NEW one ,尽管有两个应用程序具有相同的包名称。
1) 在 build.gradle 中
applicationId "mynew.mynewpackage.com"
2) 在 AndroidManifest.xml 中 android:authorities="mynew.mynewpackage.com.fileprovider"
【讨论】:
【参考方案17】:就我而言,当我按照规定将 MainActivity 文件移动到新的包文件夹结构时……它重构了我的 AndroidManifest.xml。最后在检查了 Logcat 之后,我意识到这是问题所在,并将其从“.MainActivity”重命名为“.MainActivity”
<activity
android:name=".MainActivity"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
【讨论】:
【参考方案18】:Android 工作室的重构方法搞砸了。所以我手动做了,效果很好。也很简单:
-备份,以便在出现问题时可以恢复。
-在Android Studio中:打开Replace In Files,输入要替换的旧包名,然后git replace all。
-关闭 Android Studio。
-手动重命名app/src/main/java/...和app/src/test/java/...和app/src/androidTest/java/...中的目录
-打开Android Studio并清理项目,重建项目->完成!
【讨论】:
以上是关于完全更改包名称,包括公司域的主要内容,如果未能解决你的问题,请参考以下文章
是否更改 iOS 捆绑包显示名称,在用户设备上作为新应用下载?