我想复制我的 Android 项目并从相同的文件创建一个新项目,但名称不同。这样做的目的是让我可以拥有应用商店中支持广告的应用的第二个版本。
我在这里找到了这个答案:
但它适用于 Eclipse。我怎样才能在 Android Studio 中做到这一点?
我想复制我的 Android 项目并从相同的文件创建一个新项目,但名称不同。这样做的目的是让我可以拥有应用商店中支持广告的应用的第二个版本。
我在这里找到了这个答案:
但它适用于 Eclipse。我怎样才能在 Android Studio 中做到这一点?
您指定的链接中的步骤也应该适用于 Android Studio。只需复制整个模块文件夹(使用文件管理器)并给它一个新名称。现在打开它并使用Refactor -> Rename
(右键单击要重命名的项目)重命名您的模块和包。
有关在 IntelliJ/Android Studio 中重构的详细信息,请参阅此处。
如果您使用 Gradle - 不要忘记更改app/build.gradle文件中的applicationId属性。
如果您使用的是最新版本的 Android Studio,您可以让它在这方面为您提供帮助。
注意:我仅在 Android Studio 3.0 中对此进行了测试。
程序如下:
在项目视图中(屏幕左侧有捕获和结构),选择Project而不是Android。
您的项目名称将位于树的顶部(与外部库一起)。
选择您的项目,然后转到Refactor -> Copy...
。
Android Studio 会询问您的新名称以及您要将项目复制到哪里。提供相同的。
复制完成后,在 Android Studio 中打开您的新项目。
包仍将使用旧项目名称。
即 Java 类包、应用程序 ID 以及使用旧包名生成的所有其他内容。
我们需要改变这一点。
在项目视图中,选择Android。
打开java子目录,选择主包。
然后右键单击它并转到Refactor
then Rename
。
Android Studio 会给你一个警告,说多个目录对应你要重构的包。
单击Rename package
而不是 Rename directory
。
在此步骤之后,您的项目现在完全使用新名称。
Build -> Clean project
_
现在您可以运行新的克隆项目。Build -> Rebuild project
正如free3dom 指出的那样,这是应该做的:
build.gradle
文件以更改包名称(您可以使用文件管理器)。AndroidManifest.xml
以更改包名称。gradle sync
。这似乎没有任何问题。
这是 nt.bas 的答案和 Civic 答案的第 9 步与视觉示例的组合,因为我是 Android Studio 的新手,所以我花了一段时间才弄清楚它的意图。它已经在 Android Studio 3.2.1 中进行了测试。
在 Android Studio 中打开要克隆的项目。(在本例中,旧项目名称为test5
,新项目名称为test6
)
在左侧文件概览窗格中,单击:项目(当前可能显示为 android)。
app.java/< your old project name>
不是那个com.example.<your old project name>(androidTest)
,不是那个com.example.<your old project name>(test)
,只是空白的那个)打开 app/res/values/strings.xml 并将旧项目的名称(例如 test5)更改为该项目的新名称:
<string name="app_name">test5</string>
打开 Gradle scripts/build.gradle (Module:app) 并将该行更改为与您的新项目名称相同的行:%fig4
应用程序ID“com.example.a.test5”
这样做的目的是让我可以拥有应用商店中支持广告的应用的第二个版本。
目前最好的方法是不复制项目。
您可以在build.gradle
文件中使用不同的风格来做到这一点。
productFlavors {
flavor1 {
applicationId = "com.example.my.pkg.flavor1"
}
flavorAdSUpport {
applicationId = "com.example.my.pkg.flavor2"
}
}
通过这种方式,您只有文件的副本,您可以轻松处理差异。
我正在遵循这些步骤,到目前为止它一直在工作:
在 Android Studio 中4.0
,您只需要以下几个步骤:
applicationId
在里面改变app/build.gradle
com.domain.appname
突出com.domain.newappname
显示appname
)转到项目所在的源文件夹。
->Settings.gradle
。':your new project name '
在 Android Studio 中重构包名时,您可能需要点击 package/android/project/etc - navigator 右侧的小齿轮并取消选中“compact empty middle packages”才能看到包名的各个部分作为自己的目录。然后对个别目录进行重构。
如果您需要更改包名称的所有部分,这一点很重要。例如,从 com.example.originalproject 到 org.mydomain.newproject。否则,重构/重命名操作只会让您将“originalproject”更改为“newproject”,而“com.example”将保持不变。有一个很好的视频显示了这一点:https ://www.youtube.com/watch?v=dMK-RBVLeIY
引用nt.bas 答案:
如果您使用的是最新版本的 Android Studio,您可以让它在这方面为您提供帮助。
注意:我仅在 Android Studio 3.0 中对此进行了测试。
程序如下:
在项目视图中(屏幕左侧有捕获和结构),选择Project而不是Android。
您的项目名称将位于树的顶部(与外部库一起)。
选择您的项目,然后转到Refactor -> Copy...
。
Android Studio 会询问您的新名称以及您要将项目复制到哪里。提供相同的。
复制完成后,在 Android Studio 中打开您的新项目。
包仍将使用旧项目名称。
即 Java 类包、应用程序 ID 以及使用旧包名生成的所有其他内容。
我们需要改变这一点。
在项目视图中,选择Android。
打开java子目录,选择主包。
然后右键单击它并转到Refactor
then Rename
。
Android Studio 会给你一个警告,说多个目录对应你要重构的包。
单击Rename package
而不是 Rename directory
。
在此步骤之后,您的项目现在完全使用新名称。
Build -> Clean project
_Build -> Rebuild project
到目前为止,您只需重命名整个项目名称。要重命名包装名称,您需要遵循gnyrfta 回答,该回答被描述为:
在 Android Studio 中重构包名时,您可能需要点击 package/android/project/etc - navigator 右侧的小齿轮并取消选中“compact empty middle packages”才能看到包名的各个部分作为自己的目录。然后对个别目录进行重构。
PS:如果你有一个
无法完成会话:INSTALL_FAILED_INVALID_APK:拆分 lib_slice_0_apk 已定义多次
只需删除 appmodule 的 build 文件夹并重建项目!
这将解决问题!
Android Developer Fundamentals Course Practicals gitbook 的附录包括复制和重命名现有项目的步骤:
也许这会对某人有所帮助。
对于 Android Studio 4.x 项目,您需要以下步骤:
rootProject.name='newProjectName'
。复制项目时,您还需要从 C:...\AndroidStudioProjects(project_name)\app\build\intermediates\classes\release... 目录中删除原始剩余的中间构建 (someActivity$4.class) 文件。否则,如果您尝试编译复制的项目,您几乎肯定会遇到新项目的构建失败。重构不会解决这个问题。
我正在使用 Android 3.3,这就是它对我的工作方式:
1 - 选择项目视图
2 - 右键单击项目根目录中的项目名称并选择选项refactor -> copy
,它会提示您选择新名称。
3 - 在第 2 步之后,Android 将为您创建一个新项目,您必须使用新名称打开该新项目
4 - 在“string.xml”中更改应用程序的名称,它在“app/res/values/string.xml”中
现在你有了它,同一个项目有了一个新的名字。现在您可能想要更改包的名称,它在以下步骤中进行了描述
(可选)更改包 main 的名称
5 - 进入“app/java”,会有三个同名的文件夹,一个主文件夹,一个主文件夹,一个主文件夹(androidTest)
,(test)
右键主文件夹选择format -> rename
,会提示你多个目录对应那个包,然后单击“重命名包”。选择一个新名称并单击重构。现在,在代码视图下面,这里将是一个重构预览,点击“Do refactor”
6 - 转到选项“构建”,单击“清理项目”,然后单击“重建项目”。
7 - 现在关闭项目并重新打开它。
Android Studio 3.5 的需求和测试
确保您的旧项目与您现有的 android studio 库一起正常工作。
注意:如果 adb run 显示未找到活动,请编辑您的运行/调试配置。模块应该指向模块应用程序,例如 app。
截至 2020 年 2 月,对于 Android Studio 3.5.3,我找到的最简单的答案就是这个视频。
注 1:在 01.24,“查找”选项卡出现在下方。单击“Do Refactor”并按照视频中的方式继续。
注意 2:如果您有任何 Java/Kotlin 文件“标记为纯文本”,则需要手动修改顶部的包名称,即package com.example.thisplaceneedstobemanuallyupdated
注意3:重命名时要注意字母大小写,就像视频中一样。
注4:如果要更新项目窗口标题栏上的项目名称,请在“ Gradle ScriptsrootProject.name = 'YourProjectName'
”目录下的“ settings.gradle ”文件中进行修改。
最简单(而且绝对是最快)的方法需要 WINRAR、7zip 或类似的归档软件:
在 Windows 资源管理器中找到项目文件夹 - 双击打开此文件夹。
创建一个新文件夹并将其命名为“备份”。
仍在项目文件夹中时,选择所有文件/文件夹,“备份”文件夹除外。
右键单击并选择“添加到存档”或“创建存档”(命令将根据您的存档软件而有所不同)
命名存档并单击确定。
将此存档移动到“备份”文件夹。
大功告成 - 打开备份存档,打开“备份”文件夹并右键单击备份文件。选择“提取”或创建一个新文件夹,文件将被提取到其中并点击“确定”,然后像往常一样从 Android Studio 等打开项目。
我遇到了以下问题:
在 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 中)。
在安卓工作室 4.1.1 中:
步骤 1 在文件资源管理器中复制项目并为其命名。
步骤 2在 android studio 中打开复制的项目,进入 Gradle Scrips 文件,在设置和构建文件 中将项目名称更改为新名称。
步骤 3 转到属性Gradle 文件并添加以下行: android.overridePathCheck=true
最简单的方法是将项目文件上传到 Github 存储库,然后将存储库克隆或再次下载到您的计算机