35

这应该是一个非常简单的问题:)

我有一个运行良好的项目。现在我想重命名它并更改项目文件夹的路径。首先看起来很简单:右键单击->“移动”和“重构/重命名”。

移动和重命名我的项目文件夹和我的 apk 模块后,项目结构与以前不同。我的项目库已被包含两次。我查看了“.iml”文件,发现之前的路径已包含在内 - 所以我更改了它。在此之后,我可以通过命令行编译我的项目,但不能使用 IDE。我得到了这个错误:

NullPointerException: no project directory specified

移动和重命名项目的默认方式是什么?我通过创建一个新项目并复制所有文件来解决我的问题,但是知道这个“问题”的解决方案会非常酷。

编辑:

起源项目结构:

MyProject
--- libraries
--- MyApp

搬家后:

MyProject
--- MyProject (new path)
--- MyProject (old path)

我认为我要做的不仅仅是复制项目。不知何故,我必须指定“新”项目,不是吗?

4

12 回答 12

49

在 Android Studio 中关闭项目(文件 -> 关闭项目)。移动项目并通过移动其主文件夹/目录来重命名它。从 Android Studio 打开新项目(文件 -> 打开)

于 2013-07-05T14:06:50.667 回答
21

在 Android studio 0.8.+ 中,您可以点击F6移动它。

如果您使用 1.0.2 或更高版本,请确保为 Refactor -> Move 菜单选项选择 Project 视图以使其可用。

感谢@DavidsAlias 指出这一点。

于 2014-07-22T16:33:36.763 回答
14

随意移动项目文件,然后:

工具 -> Android -> 将项目与 Gradle 文件同步

于 2015-03-27T21:46:06.573 回答
9

要使用 Android Studio 1.1.0 在文件系统中移动项目:

  • 在 Android Studio 中关闭项目(文件 -> 关闭项目)
  • 将项目文件夹移动到所需位置
  • 将项目导入 Android Studio(文件 -> 导入项目...)
于 2015-02-24T01:20:56.357 回答
5

在 Android Studio 中,我发现以下两项对于已复制|移动|重命名的项目都可以正常工作。

方法:Import

  1. 构建 > 清理项目
  2. 文件 > 关闭项目
  3. 复制、移动和/或重命名文件夹
  4. 删除 /old_name.iml(不再需要)
  5. 文件 > 新建 >导入项目...

方法:Sync Project with Gradle Files

  1. 构建 > 清理项目
  2. 文件 > 关闭项目
  3. 复制、移动和/或重命名文件夹
  4. 删除 /old_name.iml(不再需要)
  5. 文件 > 打开
  6. 工具 > Android >使用 Gradle 文件同步项目

两者都有相同的结果。

Import少了一步。Import位于欢迎屏幕和文件 > 新建菜单上,非常方便。

Sync Project with Gradle Files是一个比较晦涩的菜单项。但是,Sync Project with Gradle Files如果您在打算打开时单击打开,这是一个很好的后备Import

于 2015-05-10T02:25:38.623 回答
3

对于 Android Studio 3,这似乎就足够了:

  1. 在 Android Studio 之外移动/重命名项目。
  2. 工具 -> Android -> 将项目与 Gradle 文件同步
  3. 构建 -> 重建项目

移动和重命名项目后,我无法部署到模拟器。执行上述步骤即可解决。

于 2018-01-15T17:48:09.473 回答
1

这就是我复制/移动项目的方法。我正在使用 Android Studio 2.3.2 版

  1. 将整个项目目录复制到所需位置
  2. 将项目目录重命名为您选择的任何内容
  3. 在新项目中,找到workspace.xml 文件并手动更新。我的位于主项目目录的 /.idea 文件夹中。
  4. 当您在 workspace.xml 中完成更改语句后,启动 android studio 并打开一个“现有项目”。选择构建/重建并重建项目。

以下是一些需要更改的示例语句:

<entry file="file://$PROJECT_DIR$/app/src/main/java/com/NEW_SITE_NAME/NEW_SITE_PACKAGE)/MainActivity.java">

<option name="name" value="NEW_ROOT_DIRECTORY_NAME" />

<option name="KEY_STORE_PATH" value="C:\... YOUR KEYSTORE PATH ...\keystore.jks" />

<option name="KEY_ALIAS" value="newrootdirectoryname" />

<option name="name" value="NEW_ROOT_DIRECTORY_NAME" />

还有其他陈述,许多陈述是相同的。你应该能够得到这个想法。正确执行此操作的关键是使用现有workspace.xml 文件中已有的相同命名方法。如果您使用搜索和替换,这是一个相当简单的过程,只需几分钟。

希望这对某人有帮助!

于 2017-05-17T16:31:41.440 回答
1

适用于安卓 3.3.2+

  1. 将您的项目设置为项目菜单
  2. 选择文件夹名称
  3. 在顶部菜单栏中重构 > 移动

一定要选择项目名的文件夹

  1. 选择要移动到的目录并确认移动
  2. 关闭所有项目并导入 >(移动项目)
  3. 从您的设备上卸载应用程序

    重要!!

  4. 关闭 Instant Run 以避免 apk 安装过程查找现有切片(显然,缓存清理不会这样做)。这是来自这里的 SO 答案。文件 > 首选项 > 构建、执行、部署 > 即时运行 > 取消选中启用框

  5. 顶部菜单栏 -- 文件 > 使缓存无效/重新启动(仅我无效)

  6. 运行应用程序 10.您现在可以在首选项中重新打开 Instant Run。

这应该够了吧

于 2019-03-09T08:43:43.333 回答
0

在 Android Studio 1.5 中

  1. 选择项目级别视图层次结构。
  2. 选择项目文件夹 example com.example.app1 并右键单击 -> Refactor -> move... 或 F6。
  3. 检查将包“com.example.app1”移动到另一个包,它可能会生成警告,只需选择“确定”并输入您的新路径,例如“com.hi.app2”,然后单击“确定”,它将要求创建一个新文件夹,选择“确定”。
  4. 从文件关闭项目 -> 关闭项目
  5. 选择打开退出 Android Studio 项目
  6. 只需删除所有旧文件夹,例如此处的示例和 app1。
  7. 清理和重建项目。

这将更新移动并重命名项目路径。

于 2015-12-01T21:12:40.903 回答
0

我刚刚成功地将我的 C:\ 项目移动到我的便携式 M:\ 驱动器中。

  1. 在所需的文件路径中创建一个相同的项目。
  2. 打开原始项目
  3. 在侧栏上找到 Java 文件,将它们全部复制到剪贴板。
  4. 打开“新”项目
  5. 将文件粘贴到相应的 java 文件夹中(根据需要覆盖)
  6. 对您的活动文件执行相同的操作,将它们粘贴到布局文件夹中。(根据需要覆盖)。
  7. 保存新项目并关闭应用程序。
  8. 启动 Android Studio
  9. 打开你的“新”项目。
  10. Android Studio 将要求您在原始设置或项目设置之间进行选择。
  11. 选择项目设置,忽略默认设置按钮。
  12. Android Studio 将在新的文件路径目标中重新构建您的“新”项目。
  13. 模拟器会出现损坏,选择修复设备。
  14. 运行你的“新”项目。
  15. 一切都应该运行良好。(记住原版还是安全的,启动原版会带你到第10步,选择默认设置恢复到之前的状态。

我知道这有点拖累,但这是我发现的将项目从一个目的地转移到另一个目的地并且仍然有可行的工作产品的唯一工作方法。

PS:大约一个小时前我正在搜索此查询,但没有成功。在自己得到一个积极的结果后,我想我会与社区分享结果......即使该线程已经存在两年并且已经标记为已回答。毕竟,它可能会帮助下一个像我一样快速搜索结果的人。

于 2016-01-25T01:11:41.670 回答
0

对我有用:
1. 移动项目:

关闭 Android Studio 。您可以尝试正常复制和粘贴项目。如果由于路径太长而导致路径错误。我通常所做的是将项目压缩为 rar 文件。复制粘贴到新位置并提取它。对于 winrar,请在此处使用提取,因为实际的根文件夹在 rar 内

2. 重命名项目:

将根文件夹重命名为您的新项目名称。

3.在Android Studio中打开

注意,当你打开android studio时,默认会打开旧的项目文件。通过转到文件>关闭项目来关闭项目。然后打开你的新项目。

于 2016-11-14T16:05:25.317 回答
0

就我而言,在将项目移动到另一个文件夹后,起作用的是:

  1. 构建 -> 重建项目
  2. 文件 -> 使缓存无效/重新启动...
于 2019-04-05T09:17:45.790 回答