在 Android Studio 中使用新名称复制现有项目

我想复制我的 Android 项目,并创建一个新的项目从相同的文件只是不同的名称。这样做的目的是让我可以有我的应用程序的第二个版本是在应用程序商店支持广告。

我在这里找到了答案:

Android-使用新名称复制现有项目

But it's for Eclipse. How can I do this in Android Studio?

155399 次浏览

您指定的链接中的步骤也应该适用于 Android Studio。只需复制(使用文件管理器)整个模块文件夹,并给它一个新名称。现在打开它,使用 Refactor -> Rename(右键单击要重命名的项)来重命名模块和包。

有关 IntelliJ/Android Studio 中重构的详细信息,请参阅 这个

If you use Gradle - don't forget to change applicationId attribute in App/build.gradle file.

作为 自由指出,我们应该这样做:

  1. 使用文件管理器创建副本
  2. 手动编辑应用程序的 build.gradle文件以更改包名(您可以使用文件管理器)。
  3. 手动编辑 AndroidManifest.xml以更改包名称。
  4. 运行 gradle sync
  5. Open the project in Android Studio, and refactor the package name.
  6. 再来一次同步。

看起来没有任何问题。

转到项目所在的源文件夹。

  1. 复制项目和过去并更改名称。
  2. 打开 Android Studio 并刷新。
  3. Go to ->Settings.gradle.
  4. 包括 ':your new project name '

这样做的目的是让我可以有我的应用程序的第二个版本是在应用程序商店支持广告。

目前最好的做法是 没有复制的项目。
您可以在 build.gradle文件中使用不同的风格来完成。

 productFlavors {
flavor1 {
applicationId = "com.example.my.pkg.flavor1"
}
flavorAdSUpport {
applicationId = "com.example.my.pkg.flavor2"
}
}

这样,您只有一个文件的副本,您可以处理的差异很容易。

在 Android Studio 中重构包名时,你可能需要点击包/Android/project/etc-导航器右侧的小齿轮,取消选中“紧凑型空中包”,以便将包名的每个部分作为一个自己的目录。然后对单个目录进行重构。

如果需要更改包名称的所有部分,这一点非常重要。例如,从 com.example.Origalproject 到 org.mydomain.newproject。否则,重构/重命名操作将只允许您将“ Origalproject”更改为“ newproject”,并保持“ com.example”不变。有一个很好的视频显示了这一点: https://www.youtube.com/watch?v=dMK-RBVLeIY

当你复制你的项目时,你还需要从 C: ... AndroidStudioProjects (project _ name)应用程序 build 中间类发布... 目录中删除原始的剩余中间构建(some Activity $4.class)文件。 否则,几乎肯定会出现新项目的构建失败 如果你尝试编译复制的项目。重构不会解决这个问题。

如果您正在使用最新版本的 Android Studio,您可以让它在这方面帮助您。

注意: 我只在 Android Studio 3.0中测试过。

程序如下:

  1. 在项目视图中(在屏幕的左侧有捕获和结构) ,选择 Project而不是 仿生人
    项目的名称将位于树的顶部(与外部库放在一起)。
    选择您的项目,然后转到 Refactor -> Copy...
    Android Studio 会询问您的新名称以及您想要复制项目的位置,请提供相同的信息

  2. After the copying is done, open your new project in Android Studio.
    软件包仍然使用旧的项目名称。
    这就是 Java 类包、应用程序 ID 以及使用旧包名生成的所有其他东西。
    We need to change that.
    在项目视图中,选择 Android
    打开 爪哇咖啡子目录并选择主程序包。
    然后右键单击它,转到 Refactor然后 Rename
    Android Studio will give you a warning saying that multiple directories correspond to the package you are about to refactor.
    点击 Rename package没有
    完成这一步之后,您的项目现在完全使用新名称

  3. 打开 res/values/strings.xml 文件,并更改项目的名称。
  4. 不要忘记在“ Gradle Build Module: app”中更改您的应用程序 ID。
  5. 最后一步是清理和重新构建项目,否则当尝试运行项目时,Android Studio 会告诉您无法安装 APK (如果您运行前一个项目)。
    So Build -> Clean project then Build -> Rebuild project.
    现在可以运行新的克隆项目了。

I've tried from nt.bas answer and gnyrfta answer which works well for me.

引自 Nt.bas 回答:

If you are using the newest version of Android Studio, you can let it assist you in this.

注意: 我只在 Android Studio 3.0中测试过。

程序如下:

  1. 在项目视图中(在屏幕的左侧有捕获和结构) ,选择 工程项目而不是 仿生人
    The name of your project will be the top of the tree (alongside external libraries).
    选择您的项目,然后转到 Refactor -> Copy...
    Android Studio 会询问您的新名称以及您想要复制项目的位置,请提供相同的信息

  2. 复制完成后,在 Android Studio 中打开新项目。
    软件包仍然使用旧的项目名称。
    这就是 Java 类包、应用程序 ID 以及使用旧包名生成的所有其他东西。
    我们得改变这一点。
    在项目视图中,选择 仿生人
    打开 爪哇咖啡子目录并选择主程序包。
    然后右键单击它,转到 Refactor然后 Rename
    Android Studio 会给你一个警告,告诉你多个目录对应于你要重构的包。
    点击 Rename package没有
    完成这一步之后,您的项目现在完全使用新名称

  3. 打开 res/values/strings.xml 文件,并更改项目的名称。
  4. A last step is to clean and rebuild the project otherwise when trying to run your project Android Studio will tell you it can't install the APK (if you ran the previous project).
    先是 Build -> Clean project然后是 Build -> Rebuild project

到目前为止,您只需要重命名整个项目名 。要重命名包装名称,您需要遵循 回答,它被描述为:

在 Android Studio 中重构包名时,你可能需要点击包/Android/project/etc-导航器右侧的小齿轮,取消选中“紧凑型空中包”,以便将包名的每个部分作为一个自己的目录。然后对单个目录进行重构。


附言: 如果你有一个

终止会话失败: INSTALL _ FAILED _ INVALID _ APK: Split Lib _ slice _ 0 _ apk 被多次定义

只需删除构建文件夹的应用程序模块和重建项目!

这能解决问题!

我正在按照下面的步骤进行,目前为止效果还不错:

  1. 复制并粘贴文件夹。
  2. 开放 Android Studio (v3.0.1)。
  3. 选择“打开现有项目”。
  4. 关闭将弹出的消息的标题: “导入格拉德项目”。
  5. 在 Android Tab 的左侧,转到: app-> java-> 选择第一个文件夹(您的项目文件夹)
  6. 重构 = > 重命名... (Shift + F6)
  7. 重命名包,选择两个选项-将新文件夹的名称放在小写字母中。
  8. 执行重构
  9. 选择: 在工具栏上同步项目和级别文件。
  10. Build => Clean Project
  11. 转到 app-> res-> values-> strings.xml,并在第2行更改应用程序名称。

The appendix of the Android Developer Fundamentals Course Practicals gitbook includes steps to copy and rename an existing project:

Https://google-developer-training.gitbooks.io/android-developer-fundamentals-course-practicals/content/en/appendix_utilities.html#copy_project

这是 nt.bas 的答案和 Civic 的第9步结合的可视化示例,因为我是 Android Studio 的新手,花了一段时间才弄清楚它的目的是什么。它已经在 Android Studio 3.2.1中进行了测试。

  1. Open the project you want to clone in Android Studio. (In this example, the old project name was test5 and the new project name was test6)

  2. 在左侧文件概览窗格中,单击: Project (当前可能是 android)。

fig0

  1. 鼠标右键单击文件资源管理器窗格中的项目,然后单击 refactor > clone。

fig1

  1. 将“ New name”更改为您的新项目名称,然后单击 ok。

fig2

  1. 文件 > 打开 > 新建窗口 > 选择您的新项目 > 在新项目窗口中打开。在新的窗口中,等待 Android 工作室的底线完成/说: “ Gradle Sync Finish”。

16

17

14

  1. 在文件概览窗格中: 鼠标右键点击(人民币) : app.java/< your old project name>(不是 com.example.<your old project name>(androidTest),不是 com.example.<your old project name>(test),只是空白的那个)

fig8

  1. 输入软件包的新名称并选择这两个选中标记,单击 refactor。

fig9 fig10

  1. 在左下角的栏中点击“做重构”。

fig12

  1. 打开 app/res/values/strings.xml 并将旧项目的名称(例如 test5)更改为行中项目的新名称:

    <string name="app_name">test5</string>
    

fig3

  1. 打开 Gradle script/build.Gradle (Module: app)并将该行更改为具有新项目名称的同一行:% fig4

    ApplicationId“ com.example.a.test5”

fig4

  1. 代码窗格顶部将出现一条黄线,请求分级同步。按“立即同步”。

fig5

  1. 在顶部栏中,按 build > Clean project。

fig13

  1. 如果左下角显示“ Gradle Build done”,则单击“ Build > Rebuild project”。

fig14

fig15

  1. 现在您应该能够再次编译和运行您的项目了(如果它一开始就可以工作的话)。

我使用的是安卓3.3,这就是它对我的作用:

1-选择项目视图

右键单击项目名称,它位于项目的根目录中,并选择选项 refactor -> copy,它会提示你选择一个新的名称窗口。

在第二步之后,Android 会给你一个新的项目,你必须用新的名字打开那个新的项目

4-在“ string.xml”中更改应用程序的名称,它位于“ app/res/values/string.xml”中

现在你有了它,同样的项目有了一个新的名字。现在您可能需要更改包的名称,下面的步骤对此进行了描述

(可选) 更改包 main 的名称

5 - go to "app/java", there will be three folders with the same name, a main one, an (androidTest) and a (test), right click the main one and choose format -> rename, it will prompt you with a warning that multiple directories correspond to that package, then click "Rename package". Choose a new name and click in refactor. Now, bellow the code view, here will be a refactor preview, click in "Do refactor"

转到“ build”选项,点击“ Clean project”,然后点击“ Rebuild project”。

现在关闭项目并重新打开它。

我对以下内容有疑问:

https://google-developer-training.github.io/android-developer-fundamentals-course-concepts-v2/appendix/appendix-utilities/appendix-utilities.html

Android Studio 版本: 3.3.2

直到我关闭了. idea/workspace.xml 文件。

$ cp -rv Testcopysource/ TestCopyDest
$ rm TestCopyDest/.idea/workspace.xml
$ stdio.sh & # Run Android Studio on Linux

在此之前,Android Studio 仍然会指向原始源文件夹,并且所有的重命名都应用于原始源文件(在我上面的示例中的 Testcopysource 中)。

Android Studio 3.5的需求和测试

确保您的旧项目与现有的 android 工作室库正常工作。

  1. Copy project directory and rename folder for new project name e.g. Bramara
  2. 使用 Android Studio 3.5打开现有的新项目。打开项目完成后,导航到1: Project-> Project。您可能会看到您的项目只有两个指向新项目文件夹和旧项目文件夹的目录。结束你的项目。
  3. 使用文本编辑器在目录 new project-> app-> app.iml 上编辑 app.iml。将所有旧项目名称替换为新项目名称。
  4. Reopen your exising new project. Navigate to 1: Project -> Project. You may seen your project only has one directory.
  5. 导航到1: Project-> Packages。右键单击您的组件-> Refactor-> Rename。
  6. 将弹出一条警告消息。确保所有的更改将应用于新的项目文件夹!然后选择重命名包,例如 com.dedetok.bramara。
  7. 导航到1: Project-> Android。打开应用程序-> 清单-> AndroidManifest.xml。将应用程序活动修复为新的包名称。将应用程序名称更改为新名称。
  8. 打开 Gradle Scripts-> build.Gradle (Module: app) ,将 applicationId 更改为新项目,例如 com.dedetok.bramara 和 sync project。
  9. 清理并重建您的新项目。
  10. Your new project is ready to edit/change.

Note: if adb run showing activity not found, edit your Run/Debug Configuration. Module should point to module application e.g. app.

截至2020年2月,对于 Android Studio 3.5.3,我找到的最简单的答案是 这个视频。

注1: 01.24“查找”选项卡出现在下面。单击“执行重构”并继续视频中的操作。

注意2: 如果您有任何 Java/Kotlin 文件“标记为纯文本”,您需要手动修改顶部的包名称,即 package com.example.thisplaceneedstobemanuallyupdated

注3: 重命名时要小心字母大小写,就像视频中一样。

注4: 如果您想更新项目窗口标题栏上的项目名称,请在“ 格拉德脚本”目录下的“ 设置,等级”文件中修改 rootProject.name = 'YourProjectName'

The EASIEST (and definitely the quickest) way to do requires WINRAR, 7zip or similar archiving software:

  1. 在文件资源管理器中找到项目文件夹-双击以打开此文件夹。

  2. 创建一个新文件夹并将其命名为“备份”

  3. 在项目文件夹中,选择除“备份”文件夹外的所有文件/文件夹。

  4. 右键单击并选择“ add to archive”或“ create archive”(命令将根据文件存档软件不同而有所不同)

  5. 命名归档文件并单击 ok。

  6. 将这个存档文件移动到“备份”文件夹。

你完成了-打开备份存档,打开“备份”文件夹,右键单击备份文件。选择“提取”或创建一个新的文件夹,文件将被提取到该文件夹中,然后点击“确定”,然后像平常一样从 Android Studio 打开项目,等等。

在 Android Studio 4.0中,你只需要以下几个步骤:

  • 在文件管理器中复制项目目录并重命名新目录
  • 输入并改变 app/build.gradle内的 applicationId
  • open the existing new project in Android Studio
  • 打开一个类文件并突出显示要更改的包名部分(例如,从 com.domain.appnamecom.domain.newappname突出显示 appname)
  • right click on it -> "refactor" -> "rename"
  • 选择“重命名软件包”
  • in the dialog choose "Scope: all places" and click "preview" or "refactor"

也许这能帮到别人。

对于 Android Studio 4.x 项目,你需要以下步骤:

  • 将项目目录复制到新的项目目录
  • from Android Studio, open new project directory
  • 通过更新 rootProject.name='newProjectName'来编辑 setings.gradle 文件。
  • 然后同步分级
  • 在这里,你的项目已经准备好了,你可以开始更新清单,包,谷歌服务。 json 和所有其他的东西

在 android 工作室4.1.1:

第一步 将项目复制到文件资源管理器中,并给它一个新名称。

第二步 在 android 工作室中打开复制的项目,转到 Gradle Scrips 文件,并将项目名称更改为 设定建造文件中的新名称。

第三步 转到 物业 Gradle 文件并添加以下代码行: OverridePathCheck = true

最简单的方法是将项目文件上传到 Github 存储库,然后再次克隆或下载回购文件到您的计算机