如何在基于IntelliJ IDEA的新IDE Android Studio中重命名软件包?
是否包含自动重构?
我想进行大规模重构,但我不知道怎么做。我在Eclipse工作了两年,在Eclipse中它是一个一键操作。
如何在基于IntelliJ IDEA的新IDE Android Studio中重命名软件包?
是否包含自动重构?
我想进行大规模重构,但我不知道怎么做。我在Eclipse工作了两年,在Eclipse中它是一个一键操作。
当前回答
如果重命名的唯一原因是避免与具有相同包名的另一个构建(或系统应用程序)发生冲突,那么您可以改为仅重命名应用程序build.gradle文件中的applicationId。
示例:假设您已经安装了一个id为com.android.phone的应用程序(您希望保留它),请将app/build.gradle更改为:
android {
defaultConfig {
applicationId "com.android.phone.mymod"
}
也就是说,如果你已经有一个软件包名为com.android.phone的应用程序,并且不想/无法卸载它(例如,因为它是一个系统应用程序,设备没有根目录),那么上面的更改就是所有需要的,以便将你的应用程序与原始应用程序并排安装。在设备上,applicationId将被使用,而不是实际的包名。此外,您的应用程序数据将存储在/data/data/com.android.phone.mymod下,而不是/data/ddata/com.andrid.phone下。
没有。在某些情况下,您可能还需要重命名AndroidManifest.xml文件中的提供者和权限的名称。
参考:
https://developer.android.com/studio/build/application-id
在AndroidStudio中创建新项目时,applicationId与安装过程中选择的Java风格包名称完全匹配。但是,应用程序ID和包名称在此之外彼此独立。您可以更改代码的包名称(代码名称空间),这不会影响应用程序ID,反之亦然(不过,再次声明,发布应用程序后,您不应更改应用程序ID)。但是,更改包名还有其他后果,您应该注意,因此请参阅有关如何更改包名的部分。
其他回答
要在Android studio中重命名包名,请单击项目部分中的设置图标并取消选中压缩空中间包,然后包将拆分为多个文件夹名,然后右键单击需要更改名称的文件夹,单击refactor->rename->Type the name you want To change in->refactor-->refactor Directory,然后在整个项目中导入R.java文件。为我工作。
我在这里找到了另一种可行的方法,或者对一些答案采取了额外的步骤,特别是如果你想改变域名的话。它在Android Studio 1.4中工作。这是我所做的:
打开Manifest.xml并将包名称更改为所需的名称。打开appbuild.gradle文件,将defaultConfig中的应用程序Id更改为清单中的相同名称,然后重建项目。如果仍然存在问题,请在包名下打开一个文件,转到包面包屑(即文件开头的包声明)并将光标设置为要更改的域,然后单击“Shift+F6”,会出现一个带有多个使用警告的对话框,单击“重命名包”,然后单击”Do Refactor“,它应该重命名包括R.Java文件在内的所有内容。
例如,如果要将“com.example.app”重命名为“com.YourDomain.app”,请在要重命名的包下打开一个文件,在包面包屑中,将光标设置为域的“example”部分,然后按Shift+F6并将包重命名为“YourDomain”。
快速简便的方法,分为3个步骤:
1-打开MainActivity或任何其他java或Kotlin文件。
顶部有包装声明,如:
包com.example.myapp;
选择要更改的包装部分,然后按Shift+F6。我个人想改变这个例子。
在警告对话框中,选择重命名包,然后插入所需的包名称。
2-打开AndroidManifest.xml,并在<manifest>标记内将包更改为所需的包名称。
3-打开build.gradle(模块:app)并将applicationId更改为所需的包名。
这很容易做到。只需遵循两个步骤:
右键单击根文件夹,然后单击打开的模块设置。之后,转到口味选项卡并根据需要更改应用程序id。
对于那些认为这只会更改build.gradle文件中的应用程序id的人:
这是谷歌写的
在build.apk的清单中使用的最后一个包是“应用程序id”,它是您的应用程序在设备和Google Play商店中的名称。
and
源代码中用于引用R类和解析任何相关活动/服务注册的包继续称为“包”。
您可以阅读更多http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename
在使用这些技术之一重命名包之后,可能会开始看到错误。
如果/当你的R.java没有正确生成时,你会在项目中收到很多错误,比如错误:找不到符号类R,以及错误:包R不存在。
记住检查应用程序清单xml。清单包名称必须与实际包名称匹配。R.java似乎是从应用程序清单生成的,如果不匹配,可能会导致这些错误。
记住检查<manifestpackage=“com.yourcompany.coolapp”>中的package属性匹配