Android在Android Studio中使用新名称复制现有项目
我想复制我的android项目,并创build一个新的项目forms相同的文件,只是用不同的名称。 这样做的目的是让我可以在应用程序商店中获得广告支持的第二个版本的应用程序。
我在这里find了这个答案:
Android – 用新名称复制现有的项目
但它的日食,我怎么能在Android Studio中做到这一点?
您指定的链接中的步骤也适用于Android Studio。 只需复制整个模块文件夹(使用文件pipe理器)并为其指定一个新名称即可。 现在打开它,并使用Refactor -> Rename
(右键单击你想重命名的项目)来重命名你的模块和包。
有关在IntelliJ / Android Studio中重构的详细信息,请参阅此处。
如果您使用gradle,请不要忘记在app / build.gradle文件中更改applicationId属性。
free3dom指出 ,这是应该做的
- 使用文件pipe理器创build一个副本
- 手动编辑应用程序的
build.gradle
来更改软件包名称(可以使用文件pipe理器) - 手动编辑
AndroidManifest.xml
以更改软件包名称 - 运行gradle同步
- 在android studio中打开项目,重构包名
- 再次运行gradle同步。
这似乎没有任何问题的工作
这样做的目的是让我可以在应用程序商店中获得广告支持的第二个版本的应用程序。
目前最好的方法是不复制项目。
你可以在你的build.gradle
文件中使用不同的风格。
productFlavors { flavor1 { applicationId = "com.example.my.pkg.flavor1" } flavorAdSUpport { applicationId = "com.example.my.pkg.flavor2" } }
这样你只有一个文件的副本,你可以轻松地处理差异。
转到您的项目所在的源文件夹。
- 复制项目并过去并更改名称。
- 打开android studio并刷新。
- 转到
->Settings.gradle
。 - 包括
':your new project name '
在Android Studio中重构包名时,可能需要点击包/ android / project / etc – navigator右侧的小齿轮,并取消选中“compact empty middle packages”以查看包名的每个部分作为自己的目录。 然后对个人目录做重构。
这应该是一个评论,但没有足够的分数。
当您复制项目时,还需要从C:… \ AndroidStudioProjects(project_name)\ app \ build \ intermediates \ classes \ release …目录中删除原始补遗中间体构build(someActivity $ 4.class)文件。 否则,如果您尝试编译复制的项目,您几乎肯定会为新项目构build失败。 重构不会解决这个问题。
如果您使用的是最新版本的Android Studio,则可以在此帮助您。
注意:我已经在Android Studio 3.0中testing过了。
程序如下:
-
在项目视图(屏幕左侧的捕获和结构)中,selectProject而不是Android 。
您的项目的名称将是树的顶部(与外部库一起)。
select你的项目,然后去Refactor -> Copy...
Android Studio会问你新的名字和你想复制项目的地方。 提供相同的。 -
复制完成后,在Android Studio中打开您的新项目。
包仍然在旧的项目名下。
这是Java类包,应用程序ID以及使用旧包名称生成的所有其他内容。
我们需要改变这一点。
在项目视图中,selectAndroid 。
打开java子目录并select主包。
然后右键单击它,然后转到Refactor
然后Rename
。
Android Studio会给你一个警告,告诉你多个目录对应你将要重构的包。
单击Rename package
而不是Rename directory
。
在这一步之后,您的项目现在完全处于新名称之下。 -
最后一步是清理和重build项目,否则当试图运行你的项目时,Android Studio会告诉你它不能安装APK(如果你运行了以前的项目)。
所以Build -> Clean project
然后Build -> Rebuild project
。
现在你可以运行你的新的克隆项目。
- 如何将毫秒转换为android的date格式?
- 错误:没有这样的属性:GROUP for class:org.gradle.api.publication.maven.internal.ant.DefaultGroovyMavenDeployer
- 在Android Browser或WebView内部检测
- 如何以编程方式清除应用程序数据
- 更改Google Maps API的“我的位置”button的位置
- 如何使用Google Maps V2删除单个标记?
- 这个Google Play APK发布错误消息是什么意思?
- Android Studio SDKpipe理已禁用
- 如何在Android Studio中使用ProGuard?