如何在基于IntelliJ IDEA的新IDE Android Studio中重命名软件包?
是否包含自动重构?
我想进行大规模重构,但我不知道怎么做。我在Eclipse工作了两年,在Eclipse中它是一个一键操作。
如何在基于IntelliJ IDEA的新IDE Android Studio中重命名软件包?
是否包含自动重构?
我想进行大规模重构,但我不知道怎么做。我在Eclipse工作了两年,在Eclipse中它是一个一键操作。
当前回答
有两件事-程序包名称和应用程序ID。
对我来说,最简单、最令人满意的方法是,
你能看到突出显示的行“vijayjangid”吗,之前是“示例”。我所做的一切都是使用折射器重命名示例,而android工作室完成了所有工作。
第一部分完成。
现在,将defaultConfig括号中的应用程序id重命名为与重命名示例文件夹的名称相同的名称。确保在firebase、Aws、realm等云服务中重命名包名和id。
就这样,你完成了,投票最多的答案是旧的,我们需要更新答案。
其他回答
接受的答案对我不起作用。这里有一个python脚本,可以直接在源文件上更改包名。
"""
Notes:
1 - This script it for python3
2 - Create a backup first
3 - Place on the root folder of the android project you want to change
4 - run `python change_android_studio_pkg_name.py`
5 - Type the old package name
6 - Type the new package name
7 - Clean and Rebuild on Android Studio
8 - SRC folder names won't be changed but app will work
"""
import os, glob, traceback
from pathlib import Path
def rwf(fp, mode="r", data="" ):
if mode == "r":
with open(fp, "r", encoding='utf8') as f:
return(f.read())
elif mode == "w":
with open(fp, "w", encoding='utf8') as f:
f.write(data)
old_pkg = input("Old PKG\n").strip()
new_pkg = input("New PKG\n").strip()
if not old_pkg or not new_pkg:
exit("Args Missing")
dirname, filename = os.path.split(os.path.abspath(__file__))
file_types = ['xml', 'txt', 'json', 'gradle', 'java']
_fs = glob.iglob(f"{dirname}/**", recursive=True)
for file_path in _fs:
ext = Path(file_path).suffix.replace(".", "").lower()
if os.path.isfile(file_path) and ext in file_types:
try:
content = rwf(file_path)
new_content = content.replace(old_pkg, new_pkg)
rwf(file_path, "w", new_content)
except:
print(traceback.format_exc())
pass
蟒蛇3要点
安卓工作室2022
分步实施
步骤1:要在Android studio中重命名包名,请首先在Android模式下打开项目,如下图所示。
步骤2:现在单击设置齿轮图标并取消选择紧凑型中间包。
步骤3:现在,packages文件夹被分解为下图所示的部分。
步骤4:现在右键单击第一个包名(com),然后Refactor>Rename。将显示警告消息,但继续并单击重命名当前按钮。
步骤5:根据需要重命名目录名,然后单击Refactor按钮。
注意:转到“Build”>“Rebuild Project”以显示更新的名称。
现在,您可以从com->gfg中看到目录名的更改,如下图所示。
步骤6:根据您的要求,对域名扩展名和应用程序文件夹名称执行相同操作。
现在,您可以看到包名已从com.example.pulltorefreshwithlistview更改为gfg.geekesforgeekes.listview,如下图所示。
步骤7:现在转到gradle脚本中的build.gradle(模块:app)。此处更改applicationId并单击“立即同步”。并且成功地重命名了包名。
资料来源:如何在Android Studio中重命名软件包名称?
这很容易做到。只需遵循两个步骤:
右键单击根文件夹,然后单击打开的模块设置。之后,转到口味选项卡并根据需要更改应用程序id。
对于那些认为这只会更改build.gradle文件中的应用程序id的人:
这是谷歌写的
在build.apk的清单中使用的最后一个包是“应用程序id”,它是您的应用程序在设备和Google Play商店中的名称。
and
源代码中用于引用R类和解析任何相关活动/服务注册的包继续称为“包”。
您可以阅读更多http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename
在java目录中创建一个新的包,并将项目移动到该包中。就像您当前的项目id是com.testapp.user,您希望将其更改为xyz.testpp.user。然后在src/java目录中创建一个名为xyz的包,并将您的子包testapp.use移动到xyz中。最后,更新build.gradle和manifest项目id。
一定要去Sheharyar的伟大答案。随之而来的答案和评论太多,很容易让人感到困惑和放弃,但不要。这个答案有效。
简而言之,你要做三件事:
(1) 取消选择压缩空中间包装。
(2) 然后,通过选择“更改包”(而不是“更改目录”)来重命名每个旧目录节点,以匹配新的包名称。(请务必预览更改。)
(3) 编辑build.gradle文件,使APPLICATION_ID与新的包名匹配。