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

是否包含自动重构?

我想进行大规模重构,但我不知道怎么做。我在Eclipse工作了两年,在Eclipse中它是一个一键操作。


当前回答

在使用这些技术之一重命名包之后,可能会开始看到错误。

如果/当你的R.java没有正确生成时,你会在项目中收到很多错误,比如错误:找不到符号类R,以及错误:包R不存在。

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

记住检查<manifestpackage=“com.yourcompany.coolapp”>中的package属性匹配

其他回答

更改应用程序ID(现在独立于包名)可以在一个步骤中轻松完成。你不必接触AndroidManifest。相反,请执行以下操作:

右键单击项目的根文件夹。单击“打开模块设置”。转到“口味”选项卡。将applicationID更改为所需的任何包名称。按OK(确定)。

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

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

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

你能看到突出显示的行“vijayjangid”吗,之前是“示例”。我所做的一切都是使用折射器重命名示例,而android工作室完成了所有工作。

第一部分完成。

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

就这样,你完成了,投票最多的答案是旧的,我们需要更新答案。

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

在Android Studio中,

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

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

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

在这种情况下,如果我按照上面接受的回答步骤,结果将是mypackageold.something.testnew。

只有当您的包以com….to New包开头时,上述接受的答案才有效。

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

更改清单中的Required包名称,移除旧软件包并在Android标签下装入新软件包,将所有文件从旧包拖到新包,在Manifest中,还可以更改这些文件的包名,清洁项目,打开build.gradle并更新applicationId。

右键单击package->refactor并更改名称。

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