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

时间:2013-08-19 23:10:36

标签: android-studio gradle android-gradle build.gradle

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

我在这里找到了这个答案:

Android - copy existing project with a new name

但是对于eclipse,我怎么能在Android Studio中做到这一点?

20 个答案:

答案 0 :(得分:62)

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

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

答案 1 :(得分:36)

如果您使用gradle - 请不要忘记在 app / build.gradle 文件中更改 applicationId 属性。

答案 2 :(得分:30)

作为free3dom pointed out,这是应该做的事情

  1. 使用文件管理器创建副本
  2. 手动编辑应用的build.gradle以更改包名称(您可以使用文件管理器)
  3. 手动修改AndroidManifest.xml以更改包名称
  4. 运行gradle sync
  5. 在android studio中打开项目,重构包名称
  6. 再次运行gradle sync。
  7. 这似乎没有任何问题

答案 3 :(得分:21)

如果您使用的是最新版本的Android Studio,可以让它为您提供帮助。

注意:我仅在Android Studio 3.0中对此进行了测试。

程序如下:

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

  2. 复制完成后,在Android Studio中打开新项目 包裹仍将在旧项目名称下 这是Java类包,应用程序ID以及使用旧包名生成的所有其他内容 我们需要改变这一点 在项目视图中,选择 Android 打开 java 子目录并选择主包 然后右键单击它并转到Refactor然后Rename Android Studio会给你一个警告,说明多个目录对应你要重构的包 点击Rename package Rename directory 完成此步骤后,您的项目现在完全采用新名称。

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

答案 4 :(得分:13)

  

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

目前最好的方法是不复制项目 您可以在build.gradle文件中使用不同的风格来执行此操作。

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

通过这种方式,您只能获得文件的副本,并且可以轻松处理差异。

答案 5 :(得分:7)

我正在遵循这些步骤,到目前为止一直在努力:

  1. 复制并粘贴用于的文件夹。
  2. 打开Android Studio(v3.0.1)。
  3. 选择“打开现有项目”。
  4. 关闭将弹出标题的消息:“导入Gradle项目”。
  5. 在Android标签的左侧转到:app - > java - >选择第一个文件夹(项目文件夹)
  6. Refactor =>重命名...(Shift + F6)
  7. 重命名包,选择这两个选项 - 将新文件夹的名称设为小写。
  8. Do Refactor
  9. 选择:在工具栏中将项目与Gradle文件同步。
  10. Build =>清洁项目
  11. 转到应用 - > res - >值 - > strings.xml,并在第二行更改应用名称。

答案 6 :(得分:4)

这是nt.bas的答案和Civic的步骤9与视觉示例的结合,因为我是Android Studio的新手,所以花了我一段时间才能弄清目标。它已经在Android Studio 3.2.1中进行了测试。

  1. 在Android Studio中打开要克隆的项目。 (在此示例中,旧项目名称为test5,新项目名称为test6

  2. 在左侧的文件概述窗格中,单击:项目(当前可能显示为android)。

fig0

  1. 右键单击文件资源管理器窗格中的项目,然后单击“重构”。

fig1

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

fig2

  1. 文件>打开>新窗口>选择新项目>在新项目窗口中打开。在新窗口中,等待Android Studio的底行结束/说:“ Gradle Sync Finished”。

16

17

14

  1. 在文件概述窗格中,并在鼠标右键上单击:(RMB):app.java/ <您的旧项目名称(不是测试名称,不是androidTest,只是空白)>

fig8

  1. 输入软件包的新名称,然后选中两个复选标记,然后单击“重构”。

fig9 fig10

  1. 在左下方栏中,点击“执行重构”。

fig12

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

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

fig3

  1. 打开Gradle脚本/build.gradle(Module:app),并将行更改为与新项目名称相同的行:%fig4

    applicationId "com.example.a.test5"    
    

fig4

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

fig5

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

fig13

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

fig14

fig15

  1. 现在,您应该能够再次编译并运行您的项目(如果它首先起作用的话)。

答案 7 :(得分:2)

Android开发人员基础课程实践gitbook的附录包括复制和重命名现有项目的步骤:

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

答案 8 :(得分:1)

我试过nt.bas answergnyrfta answer这对我有用。

引自nt.bas answer

如果您使用的是最新版本的Android Studio,可以让它为您提供帮助。

注意:我仅在Android Studio 3.0中对此进行了测试。

程序如下:

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

  2. 复制完成后,在Android Studio中打开新项目 包裹仍将在旧项目名称下 这是Java类包,应用程序ID以及使用旧包名生成的所有其他内容 我们需要改变这一点 在项目视图中,选择 Android 打开 java 子目录并选择主包 然后右键单击它并转到Refactor然后Rename Android Studio会给你一个警告,说明多个目录对应你要重构的包 点击Rename package Rename directory 完成此步骤后,您的项目现在完全采用新名称。

  3. 打开res / values / strings.xml文件,然后更改项目名称。
  4. 最后一步是清理并重建项目,否则在尝试运行项目时,Android Studio会告诉您无法安装APK(如果您运行上一个项目)。
    那么Build -> Clean project然后是Build -> Rebuild project
  5. 到目前为止,您只需重命名整个项目名称。要重命名包装名称,您需要关注gnyrfta answer,其描述为:

    在Android Studio中重构包名时,您可能需要通过包/ android / project / etc - navigator右键单击右侧的小齿轮,并取消选中“compact empty middle packages”以查看每个部分包名称作为自己的目录。然后对于各个目录进行重构。

    PS:如果你有

      

    无法完成会话:INSTALL_FAILED_INVALID_APK:拆分   lib_slice_0_apk已多次定义

    只需删除appmodule的build文件夹并重建项目!

    这将解决问题!

答案 9 :(得分:1)

复制项目时,还需要从C:... \ AndroidStudioProjects(project_name)\ app \ build \ intermediates \ classes \ release中删除原始的补充中间版本(someActivity $ 4.class)文件。 。目录。 否则,您几乎肯定会为新项目构建失败 如果你试图编译复制的项目。重构不会解决这个问题。

答案 10 :(得分:1)

在Android Studio中重构包名时,您可能需要通过包/ android / project / etc - navigator右键单击右侧的小齿轮,并取消选中“compact empty middle packages”以查看每个部分包名称作为自己的目录。然后对于各个目录进行重构。

这应该是一个评论,但没有足够的分数。

答案 11 :(得分:1)

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

  1. 复制项目及过去并更改名称。
  2. 打开android studio并刷新。
  3. 转到->Settings.gradle
  4. 包括':your new project name '

答案 12 :(得分:1)

我正在使用Android 3.3,这对我来说是这样的:

1-选择项目视图

2-右键单击位于项目根目录中的项目名称,然后选择选项refactor -> copy,它将提示您一个窗口来选择新名称。

3-步骤2之后,Android将为您创建一个新项目,您必须使用新名称打开该新项目

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

现在,有了新名称的同一个项目。现在,您可能要更改程序包的名称,它在以下步骤中进行了说明

(可选) 更改包主文件的名称

5-转到“ app / java”,将有三个具有相同名称的文件夹,一个是主文件夹,一个是(androidTest)和一个(test),右键单击主文件夹,然后选择{{ 1}},它将提示您多个目录与该软件包相对应,然后单击“重命名软件包”。选择一个新名称,然后单击重构。现在,在代码视图下,这将是重构预览,单击“执行重构”

6-转到选项“构建”,单击“清除项目”,然后单击“重建项目”。

7-现在关闭项目,然后再次重新打开。

答案 13 :(得分:1)

在Android Studio 3.5上的要求和测试

确保您的旧项目可以与现有的android studio库一起正常使用。

  1. 复制项目目录并为新项目名称重命名文件夹,例如布拉马拉
  2. 使用Android Studio 3.5打开您现有的新项目。打开项目完成后,导航至1:Project-> Project。您可能会看到您的项目只有两个目录,分别指向新项目文件夹和旧项目文件夹。关闭您的项目。
  3. 使用文本编辑器在目录new project-> app-> appl.iml上编辑appl.iml。将所有旧项目名称替换为新项目名称。
  4. 重新打开现有的新项目。导航至1:Project-> Project。您可能会看到您的项目只有一个目录。
  5. 导航至1:Project-> Packages。右键单击您的组件->重构->重命名。
  6. 将弹出警告消息。确保所有更改都将应用于新项目文件夹!之后,选择重命名软件包,例如com.dedetok.bramara。
  7. 导航至1:Project-> Android。打开应用->清单-> AndroidManifest.xml。将“应用程序活动”修复为新的包装名称。将您的应用程序名称更改为新名称。
  8. 打开Gradle脚本-> build.gradle(模块:app),将applicationId更改为新项目(例如com.dedetok.bramara)并同步项目。
  9. 清理并重建新项目。
  10. 您的新项目已准备好进行编辑/更改。

注意:如果未找到显示活动的adb运行,​​请编辑“运行/调试配置”。模块应指向模块应用程序,例如应用程式。

答案 14 :(得分:1)

最简单(绝对是最快)的方法需要WINRAR,7zip或类似的存档软件:

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

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

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

  4. 右键单击并选择“添加到存档”或“创建存档”(命令会因存档软件而异)

  5. 命名存档,然后单击“确定”。

  6. 将此存档移到“备份”文件夹。

您已完成-要打开备份档案,请打开“备份”文件夹,然后右键单击备份文件。选择“提取”或创建一个新文件夹,将文件提取到该文件夹​​中并单击“确定”,然后像往常一样从Android Studio等打开项目。

答案 15 :(得分:1)

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

  • 在文件管理器中复制项目目录并重命名新目录
  • 输入并在applicationId内更改app/build.gradle
  • 在Android Studio中打开现有的新项目
  • 打开一个类文件并突出显示要更改的包名称部分(例如,从com.domain.appname变为com.domain.newappname突出显示appname
  • 右键单击它->“重构”->“重命名”
  • 选择“重命名程序包”
  • 在对话框中选择“范围:所有地点”,然后单击“预览”或“重构”

答案 16 :(得分:1)

也许这会对某人有所帮助。

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

  • 将项目目录复制到新项目目录
  • 在Android Studio中,打开新项目目录
  • 通过更新rootProject.name='newProjectName'
  • 编辑settings.gradle文件。
  • 然后同步gradle
  • 然后您就可以开始进行项目准备了,可以开始更新清单,程序包,google-services.json和所有其他内容

答案 17 :(得分:0)

我在以下方面遇到问题:

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中)。

答案 18 :(得分:0)

截至2020年2月,对于Android Studio 3.5.3,我发现的最简单答案是this视频。

注意1::在01.24,“查找”标签显示在下方。单击“执行重构”,然后继续按照视频中的步骤进行操作。

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

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

注释4::如果要在项目窗口的标题栏上更新项目名称,请在“ settings.gradle ”文件中的“ Gradle Scripts ”目录。

答案 19 :(得分:0)

在 android studio 4.1.1 中:

第 1 步 您在文件资源管理器中复制该项目并为其指定一个新名称。

第 2 步 在 android studio 中打开复制的项目并转到 Gradle Scrips 文件并在 settingsbuild 文件中将项目名称更改为新名称。

第 3 步 转到 properties Gradle 文件并添加以下行: android.overridePathCheck=true