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

是否包含自动重构?

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


当前回答

我建议使用Sublime Text(或Notepad++)。替换com.one.lastname->com.two.newname和com/one/lastname->com/two/newname。。。\项目[MyProject]。别忘了重命名。。。\项目\MyProject\app\src\main\java\com\one\lastname。。。\Projects\MyProject\app\src\test\java\com\one\lastname和。。。\项目\MyProject\app\src\androidTest\java.com\one\lastname!

仅此而已:)

其他回答

右键单击包名称->Refactor->重命名->输入包名称->单击“Refactor”。不要编辑“app”文件夹下除“build.gradle”以外的任何构建文件。

从重命名android工作室项目-Vishnu Sivan

转到AndroidManifest.xml在那里,您将找到作为manifest标记属性的包。只需选择要更改的部件,右键单击->重构->重命名

也许早些时候,这很难,但到今天为止,这已经不难了。

您可能还想在中更改应用程序id

defaultConfig {
    applicationId 
}

短而甜

安卓工作室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中重命名软件包名称?

接受的答案对我不起作用。这里有一个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要点

我也很难更改项目的包名。特别是大型项目。有很多事情要做,但这些工作真的很无聊。我一直在IntelliJ IDEA和Android Studio上开发插件。它将帮助您自动更改软件包名称。它叫做Android软件包重命名器

安装

使用IDE内置插件系统:设置/首选项>插件>市场>搜索“Android软件包重命名器”>安装插件手动:下载最新版本并使用手动安装设置/首选项>插件>⚙️ > 从磁盘安装插件。。。

用法

打开项目。单击->文件->重命名包输入要更改的程序包。单击“确定”。将项目与渐变文件同步或使缓存无效

如果此插件对您有帮助或有错误,请通过以下[GitHub]与我联系(