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

是否包含自动重构?

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


当前回答

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

安装

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

用法

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

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

其他回答

有两件事-程序包名称和应用程序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要点

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

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

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

要在Android studio中重命名包名,请单击项目部分中的设置图标并取消选中压缩空中间包,然后包将拆分为多个文件夹名,然后右键单击需要更改名称的文件夹,单击refactor->rename->Type the name you want To change in->refactor-->refactor Directory,然后在整个项目中导入R.java文件。为我工作。

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

安装

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

用法

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

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