有时,你可能想复制一个你用Android Studio创建的Android项目。
你可能想通过使用现有的应用程序代码作为基础来创建另一个应用程序。
要创建一个Android项目的副本,你需要先从你的电脑上手动复制项目文件夹。
打开电脑的查找器或资源管理器窗口,导航到你保存现有Android项目的地方。
使用电脑上的复制和粘贴功能创建一个现有项目的副本,如下图所示:

像其他文件夹一样复制安卓项目文件夹
(android-studio-copy-project-from-explorer.png)
如果你有一个大的安卓项目,那么从终端复制文件可能有助于加速这一过程。
从终端使用cp -r [existing folkder] [new folder name] 命令,如下所示:
cp -r KotlinApp KotlinAppClone
一旦项目被复制,接下来你需要在Android Studio中打开它。
重构复制的Android项目
当你用Android Studio打开该项目时,你会看到Gradle同步过程开始。
等到Gradle同步完成,然后在你的项目中打开AndroidManifest.xml 文件。
在清单文件中,有三个属性你需要改变:
<manifest>标签的package属性<application>标签的android:label属性<activity>标签的android:name属性。MainActivity
请注意,您决不能手动更改这些属性。右键点击你想改变的属性,从上下文菜单中选择Refactor > Rename,如下图所示:

Android Studio复制项目并重构
(android-studio-copy-project-refactor.png)
你会看到一个警告,说有多个目录对应于该包。
这很好,因为你也打算重命名这些目录。选择重命名包,继续重命名你的包名。
你可以从Android Studio预览这些变化,一旦你准备好了就点击Refactor。
改变应用程序的android:label属性
接下来,你需要通过改变你的Android应用程序中的@string/app_name 资源来改变Android:label 属性。
这通常位于你项目的res/ 文件夹中:
<resources>
<string name="app_name">KotlinApp</string>
</resources>
一旦你改变了app_name 字符串标签,你需要从Gradle设置文件中改变项目名称。
改变Gradle设置中的项目名称
要改变复制的项目名称,你需要打开位于你的应用程序根文件夹中的settings.gradle 文件。
在里面,你需要改变rootProject.name 的属性,如下图所示:
pluginManagement {
repositories {
gradlePluginPortal()
google()
mavenCentral()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
}
}
rootProject.name = "KotlinApp"
include ':app'
一旦你改变了属性,你会看到一条消息说Gradle文件已经改变,你需要同步项目。
点击立即同步选项,你应该看到应用程序的项目名称已经改变。
重新加载文件并构建复制的项目
前往Android Studio的项目窗格。
在任何地方点击右键,选择从磁盘重新加载菜单,如下图所示:

Android Studio从磁盘重新加载
(android-studio-reload-from-disk.png)
这样,你的复制项目就可以进行编译了。你应该能够成功地构建和运行该应用程序。
请记住,你需要改变你复制的项目中使用的API密钥和其他文件。
例如,当你把你的安卓项目与Firebase集成时,你需要改变google-services.json 文件。
如果你在你的应用程序中使用AdMob,你也需要改变AdMob ID。
最后,下面是创建一个Android项目副本的四个步骤:
- 从你的电脑上手动复制项目
- 从
AndroidManifest.xml文件中重构包的名称,同时改变目录的名称 - 重构你的应用程序的标签名称
- 改变你的
settings.gradle文件中的rootProject.name属性。
这就是你如何复制一个Android项目并从Android Studio中运行它,干得好!👍