好吧,我已经做了一些搜索,似乎接近我正在寻找的答案。但是因为害怕搞乱我目前的项目(我是第一次开发应用程序开发人员,到目前为止我很高兴...我想保持这种状态),我正在寻找一个好的和清晰的逐步介绍如何复制项目。我知道某些地方的某些东西需要导入/重命名,但我不确定究竟是什么/在哪里。
那么,对于如何做到这一点还是一步一步还是我错过了它?如果没有,有人可以向我解释一下吗?
编辑:我想复制一个应用程序项目,以创建一个非常相似的应用程序项目。我正在为我的应用程序使用Android Studio。我希望能够使用一个应用程序来创建另一个应用程序(当然不同)。因此,我没有制作新项目并制作所有xml / java文件并添加所有图像等,而是希望能够使用我已有的并复制它以制作另一个与原始文件完全分开的应用程序。我根本不使用Eclipse,我正在为我的应用程序使用Android Studio。
答案 0 :(得分:47)
我是Android和AndroidStudio(AS)的新手,我已经花了很多时间尝试使用AS来克隆'一个专案。非常感谢上面给出的现有答案,这使我走上了正确的道路。对于像我一样的任何新手,以下详细的逐步说明应该证明是有用的:
使用Windows资源管理器,导航到Android Studio项目 目录选择要克隆的项目文件夹;
复制所选文件夹;
将文件夹粘贴到Android Studio(AS)项目目录中;
将粘贴的文件夹重命名为克隆项目的新名称, 说' ViewPager_Shell';
启动Android Studio;
选择'打开现有的Android Studio项目';
导航到AS项目目录;
选择文件夹' ViewPager_Shell';
确保AS的左侧可以看到AS的资源管理器窗格 AS主框架;
选择' Android'浏览器窗格的视图;
打开应用 - > java的;现在应该可以看到旧的包名称,例如 ' com.hulme.owm&#39 ;;
右键单击旧包名称,然后选择' Refactor - > 重命名&#39 ;;
现在应该出现一个对话框;左键单击'重命名包';
在弹出式对话框中,将旧包(例如' owm')替换为 新包名称(例如viewpager_shell);
左键点击' Refactor'按钮;谨防!! ...一个新的'查找 保理预览'窗格应该在AS的左下方打开 主框架窗口;
选择' Do Refactor';
使用AS资源管理器窗格,导航至' Gradle Scripts - > 的build.gradle(模块:应用程序);
双击build.gradle(Module:app)以查看其中的内容 AS编辑器窗格;
更改defaultConfig' applicationID'字符串到你的新 包路径(例如" com.hulme.viewpager_shell");
使用AS资源管理器窗格,导航至' app - >清单 - > 的AndroidManifest.xml&#39 ;;
双击' AndroidManifest.xml'在AS编辑器中查看它 窗格;
在清单标记下,您应该观察到新包 结果显示名称(例如' com.hulme.viewpager_shell') 之前的重构步骤;
在应用标记下,将android:label更改为新名称(例如 " ViewPager Shell Demo") - 这是列表中显示的名称 已安装的应用程序由Android'设置 - >提供应用 管理器;
在活动标记下,将android:label更改为新名称(例如" VP Shell") - 这是应用程序图标下显示的名称 也是活动的默认ActionBar标题;
您现在应该能够构建并运行新克隆的项目。
答案 1 :(得分:10)
为实现您的目标,请按照以下步骤操作:
在该目录中,您将拥有此项目。创建一个新文件夹并将此文件夹的内容复制到该新文件夹。 要么 复制现有项目文件夹并将其粘贴到任意位置,然后重命名。
转到Android Studio,选择导入现有项目,从存储它的路径中选择新文件夹。
这必须足以实现您的目标。希望这对你有帮助。
答案 2 :(得分:3)
从另一个项目创建安卓工作室项目的步骤(从版本2.3.3开始多次测试)
在app,res,values下,打开strings.xml
并更新应用名称。您可能会回到此处编辑更多字符串以适合您的新应用。
在MainActivity.java
中,突出显示需要更改的包名称部分(通常是句点之后的最后一部分,例如在net.androidbootcamp.concerttickets
包中您选择concerttickets
})。
右键单击选择并选择重构,然后重命名。
当提示重命名包或重命名目录时,首先选择重命名目录,保留注释并继续。
要有耐心,直到左下角说" [n]发生变化"。
重复步骤8-10,但这次选择重命名包,然后选中两个方框(注释和文本出现),然后继续。
它会在底部给你一个重构预览,点击" Do Refactor"。
单击同步按钮(Ctrl + Alt + Y)。
选择构建,清理项目。
使用项目搜索和替换来仔细检查您的包名称。我的经验一直没有问题,但这只是以防万一。重构后,您可能还会注意到完整的包名称现在显示为代码中资源的前缀,例如" net.androidbootcamp.concerttickets.R.id ..."而不只是" R.id ......"两者都可以,但是为了便于阅读,可以根据需要通过搜索和替换来快速解决这个问题。如果执行此步骤,请选择构建并清理项目。
在进一步修改之前运行app进行测试。
注意:您可能需要为(内部)模拟器重新选择主题,或进行其他类似的特定于环境的更改。
答案 3 :(得分:1)
在Android Studio中复制项目的最简单方法是
这里我们必须选择build.gradle(Module.app)。然后在这里我们必须将applicationId更改为:applicationId“org.sliit.clientapptwo”
“org.sliit.clientapptwo”是我的包名。
这将有助于您:)
(注意:这里我只使用“ClientAppOne”和“ClientAppTwo”进行演示)
答案 4 :(得分:1)
我已经成功地使用了安德鲁的答案(共25个步骤)。但是它失败了几次。每次失败,我都可以通过添加步骤0
来修复克隆过程。第0步: 在尝试克隆项目之前,请对要克隆的项目执行> Build> Clean Project。项目有时会积累重构所遗漏的垃圾。至少那是我对错误消息的解释。 :)
答案 5 :(得分:1)
完成的其他步骤:也要在Android Studio欢迎窗口中更改名称。
更改
中的oldPackageName
oldPackageName
(androidTest)oldPackageName
(测试)oldPackageName.iml
文件的<module external.linked.project.id=
行答案 6 :(得分:0)
我是Android的新手,但这个有点粗糙的过程对我来说很好:
在Android Studio中:
答案 7 :(得分:0)
我发现其他建议的解决方案太复杂了。我就是这样做的。
在Android Studio中,我在项目视图中选择项目文件夹,右键单击它,选择&#34; Refactor&#34;和&#34;复制......&#34; (或者只按F5)。在对话框中,我只是给副本一个新的项目名称并选择一个新文件夹。
要选择项目文件夹,首先必须确保项目视图显示整个项目,而不仅仅是&#34; App&#34;。
那就是它!只需一步。无需使用File explorer或Finder来复制文件。 Android Studio将所有文件复制到新文件夹中并进行必要的重构。
我不知道这是Android Studio的新功能,还是这种方式存在其他问题。但是我经常使用这种方法来创建项目的副本作为&#34; forks&#34;为了尝试不同的方法来解决问题而不改变原始项目,它似乎工作正常。
答案 8 :(得分:0)
我定期遇到这个问题,因为我一直希望能够快速完成您的要求 - 将项目完全复制到新项目并能够返回并运行旧版本。我从来没有用荒谬的步骤尝试任何答案,因为我一直担心我会错过一些硬编码的路径,最终我会破坏我的主副本。
我的回答:
我在使用Android库后发现Android Studio几乎将应用程序与库相同。他们都是模块。因此,您可以创建一个新的空项目,然后转到文件 - &gt;新 - &gt;导入模块并从另一个项目浏览到应用程序。如果要重命名应用程序,可以在项目视图中右键单击并选择Refactor - &gt;重命名...
此外,Android Studio允许您在同一个项目中拥有多个应用。如果您的目的是开发两个类似的(如付费与免费)应用程序,您可以将大量重叠功能放入库中,然后自定义应用程序略有不同。
答案 9 :(得分:0)
我尝试了上面写的很多答案,但发现其中大多数不完整 这是我在ANDROID STUDIO中复制项目的操作,并且可以在每个版本的ANDROID STUDIO上使用
**Copy the project**
1在计算机的文件系统上(不在Android Studio中),复制ExistingProject目录。
2将复制的目录重命名为NewProject。
**Rename and refactor the project components**
项目的旧名称ExistingProject仍然出现在项目的新副本中的所有程序包和文件中。将文件和应用程序中的程序包引用更改为新名称,如下所示:
1启动Android Studio
2单击“打开现有的Android Studio项目”。
3导航到NewProject目录,选择它,然后单击“确定”。
4选择Build> Clean Project删除自动生成的文件。
5点击1:Project侧标签,然后从下拉菜单中选择Android,以在“项目”视图中查看文件。
6展开应用> Java。
7右键单击com.example.android.existingproject,然后选择Refactor> Rename。这将打开“重命名”对话框。
8将现有项目更改为新项目。
9选中“在注释和字符串中搜索”以及“搜索文本出现位置”,然后单击“重构”。
10出现“查找重构预览”窗格,其中显示要重构的代码。
11单击“执行重构”。
12展开res>值,然后双击strings.xml文件。
13将name =“ app_name”字符串更改为New Project。
**Update the build.gradle and AndroidManifest.xml files**
您创建的每个应用程序都必须具有唯一的应用程序ID,如该应用程序的build.gradle文件中所定义。即使以上步骤应该已经更改了build.gradle文件,您仍应进行检查以确保该文件并与gradle文件同步该项目:
1展开Gradle脚本,然后双击build.gradle(模块:app)。
2在defaultConfig下,检查以确保applicationID密钥的值已更改为“ com.example.android.newproject”。如果尚未更改,请立即手动更改。
3单击Android Studio窗口右上角的立即同步。
提示:您还可以选择“工具”>“ Android”>“使用Gradle File同步项目”来同步Gradle文件。 另外,某些应用程序以可读形式(例如“ New Project”而不是newproject)包含应用程序名称作为AndroidManifest.xml文件中的标签。
4展开app>清单,然后双击AndroidManifest.xml。 5查找以下语句,如有必要,将if标签更改为新应用名称的字符串资源:
android:label =“ @ string / app_name”
答案 10 :(得分:0)
上面的答案非常好。我还要补充一件事——在你完成所有的重构之后,转到项目结构中的 settings.gradle 并将 rootProject.name 更改为你项目的新名称。然后 build.gradle 脚本将反映在文件名之后的灰色描述中。