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

Mik*_*ike 89 gradle android-studio build.gradle android-gradle-plugin

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

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

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

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

fre*_*dom 64

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

请参见有关的IntelliJ/Android Studio中重构的细节.

  • 我尝试了此操作,但是当我运行项目时,Android Studio正在覆盖设备上的旧应用程序。我想同时在设备上同时安装两个应用程序(用于测试chrome自定义标签)。如何强制Android Studio在设备上同时具有两个应用程序? (2认同)

Ser*_*gii 38

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

  • 这非常重要,因为我忘记修改build.gradle文件中的applicationId并最终在Play商店中发布包含错误包名的应用 (3认同)
  • 这更多的是评论而不是实际的答案。 (2认同)

Vee*_*eru 34

正如free3dom所指出的,这是应该做的

  1. 使用文件管理器创建副本
  2. 手动编辑应用程序build.gradle以更改包名称(您可以使用文件管理器)
  3. 手动编辑AndroidManifest.xml以更改包名称
  4. 运行gradle sync
  5. 在android studio中打开项目,重构包名
  6. 再次运行gradle sync.

这似乎没有任何问题

  • 我想知道你是如何在android studio外进行gradle同步的 (7认同)

nt.*_*bas 24

如果您使用的是最新版本的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.
    现在您可以运行新的克隆项目.

  • 感谢您的回答!补充一:我还在settings.gradle中更新了rootProject.name。 (3认同)
  • 重要提示:如果您使用的是 google play 服务。还要确保更新 google-services.json 文件中的包名称。 (2认同)

Gab*_*tti 14

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

目前,最好的方法是不复制项目.
您可以在build.gradle文件中使用不同的风格.

 productFlavors {
        flavor1 {
            applicationId = "com.example.my.pkg.flavor1"
        }
        flavorAdSUpport {
            applicationId = "com.example.my.pkg.flavor2"
        }
  }
Run Code Online (Sandbox Code Playgroud)

通过这种方式,您只有一份文件副本,您可以轻松处理差异.

  • 这绝对应该是公认的答案! (5认同)

use*_*558 8

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

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


小智 7

我正在按照这些步骤进行操作,目前为止:

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


a.t*_*.t. 5

这是nt.bas的答案与Civic的答案的第9步的结合,并带有可视化示例,因为自从我是Android Studio新手以来,我花了一段时间才弄清了打算做什么。它已经在Android Studio 3.2.1中进行了测试。

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

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

图0

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

图。1

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

图2

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

16

17

14

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

图8

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

图9 图10

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

图12

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

    <string name="app_name">test5</string>
    
    Run Code Online (Sandbox Code Playgroud)

图3

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

    applicationId "com.example.a.test5"    
    
    Run Code Online (Sandbox Code Playgroud)

图4

  1. 黄线将出现在代码窗格的顶部,请求gradle同步。按“立即同步”。

图5

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

图13

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

图14

图15

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