当前位置: 首页 > news >正文

广州门户网站网店培训骗局

广州门户网站,网店培训骗局,地方政府网站建设,织梦cms首页模板文件是哪个1. 前言 在工作中,由于各种原因,导致需要将两个可单独运行的App项目,合并到一个git仓库里,且单独的App项目里还有其他Module模块。 如果只是将两个项目复制到同一个文件夹下,还是得单独打开各个项目,是很不…

1. 前言

在工作中,由于各种原因,导致需要将两个可单独运行的App项目,合并到一个git仓库里,且单独的App项目里还有其他Module模块。
如果只是将两个项目复制到同一个文件夹下,还是得单独打开各个项目,是很不方便的。
而我想到达到的效果是,Android Studio打开两个项目同属的根文件夹,即可加载出两个项目,可以在Android Studio内部切换项目编译运行。

如下图所示,我们现在有两个项目

  • MyProject1 : 里面有依赖MyModule1这个Library
  • MyProject2 : 是一个单独的App,没有依赖其他Library

接下来,我们就以这两个项目为例,通过修改gradle,合并到一个项目中

在这里插入图片描述

2. include 函数用法

首先,我们都知道在Gralde中,include函数可以用来依赖子项目。
比如我们新建的项目,在settings.gradle中,就会有这么一句,用来依赖app模块。

include ":app"

我们点击include,可以发现include其实是一个方法,参数是个可变字符串,可以传入若干个项目的路径,比如:app

default void include(String... projectPaths) {this.include((Iterable)Arrays.asList(projectPaths));
}

那如果项目是在子目录需要怎么办呢 ?
这里的:是用来分割目录的,那么依赖子目录的项目就是:xxxx:yyyy这种形式了

3. 实现步骤

3.1 创建一个新的项目

我们知道了include的用法,那么就可以用include来实现合并。
首先我们先创建一个全新的项目,比如MyProjectTest,并删除其app文件夹下的代码。

在这里插入图片描述

3.2 复制项目到MyProjectTest

MyProject1MyProject2复制到MyProjectTest
在这里插入图片描述

3.3 修改settings.gradle

修改MyProjectTestsettings.gradle
原本是这样两行代码

rootProject.name = "MyProjectTest"
include ':app'

修改为

rootProject.name = "MyProjectTest"
include ':MyProject1:app'
include ':MyProject1:MyModule1'
include ':MyProject2:app'

点击下Sync按钮,会提示报错
在这里插入图片描述
因为在MyProject1中,我们依赖了MyModule1

implementation project(':MyModule1')

所以这里提示找不到了,需要修改为 :MyProject1:MyModule1

implementation project(':MyProject1:MyModule1')

这时我们再点击Sync按钮,可以发现多了两个可运行的项目选项

在这里插入图片描述
选择一个项目,点击运行,可以发现正常安装到手机上了。

4. 进一步优化

到这里,本文的目标基本就完成了,实现了将两个项目合并到一个项目中。
但是,这个时候,我们如果用Android Studio单独打开MyProject1,会发现MyProject1编译报错了。
因为我们将implementation project(':MyModule1')修改为了implementation project(':MyProject1:MyModule1'),与MyProjectTest产生了耦合。
这显然是不合理的,理想的情况,应该是合并两个项目后,单独的项目依旧可以在Android Studio上单独运行。
那应该怎么办呢 ?

4.1 给项目指定路径

其实,我们可以使用project.projectDir ,指定子项目的路径。

修改MyProjectTestsettings.gradle,给MyModule1指定路径。

rootProject.name = "MyProjectTest"include ':MyProject1:app'
include ':MyModule1'
include ':MyProject2:app'project(':MyModule1').projectDir = new File('/MyProject1/MyModule1')

然后将MyProject1下的 implementation project(':MyProject1:MyModule1')依赖修改会implementation project(':MyModule1')

再次点击Sync按钮,点击运行,发现依旧是可以运行的。

而且,这个时候,单独用Android Studio打开MyProject1,也是能够单独运行的。

4.2 给子项目改名

在这里插入图片描述

点击Edit Configurations,我们还可以给子项目改名

在这里插入图片描述
删除名字里的.app,最终效果如下

在这里插入图片描述
至此,我们就完成了将两个项目合并成一个项目的所有操作。

5. 如果还有一个可单独运行的项目 ?

如果MyProject2中还有一个可单独运行的子项目,那需要怎么整合呢 ?
其实也是一样的,在MyProjectTestsettings.gradle中,增加include依赖。

include ':MyProject2:xxxx'

这里的xxxx是这个子项目的名称,然后Sync一下,就可以看到这个子项目单独的运行入口了。

6. 其他

6.1 本文源码

源码下载地址 : Android Studio中,将两个项目合并到一个项目中

6.2 参考

【Android Gradle 插件】settings.gradle 配置文件 ( 配置基本作用 | include 函数用法 | 目录层级配置 | 修改 Module 模块构建脚本名称 )_setting.gradle 构建多项目 设置构建包名称

http://www.yidumall.com/news/47713.html

相关文章:

  • 橱柜网站建设公司天猫seo搜索优化
  • 虚拟机做网站网络工程师
  • 网站策划书的编写腾讯广告代理商加盟
  • 秦皇岛市做网站优化兰州seo公司
  • 做队徽的网站私域流量和裂变营销
  • 番禺做网站的百度竞价排名公式
  • 网站管理人员队伍建设有待加强seo引擎搜索
  • 最好用的crm软件网站优化软件费用
  • 网站建设总计常用的网络营销平台有哪些
  • 银川网站建设实习生湖南专业seo公司
  • 深圳石岩做网站的公司太原网站推广排名
  • 网站开发需求大吗上海网络推广招聘
  • 废旧回收做哪个网站好网络营销的认知
  • 网站搭建实训总结国外网站谷歌seo推广
  • wordpress导出导入数据库seo是什么味
  • 电脑制作网站总么做百度推广的效果
  • 什么软件 做短视频网站上海seo排名
  • 西宁公司网站设计目前主流搜索引擎是哪种
  • dedecms下载站百度收录域名
  • 彩票网站给实体店做代销如何快速网络推广
  • 域名到期如何续费苏州首页排名关键词优化
  • 如何将自己做的网站挂到服务器上百度排名点击软件
  • 网店推广的常用方法有哪些企业网站seo优化公司
  • 自己做网站自己买服务器东莞市网络seo推广企业
  • 营销型网站主页定制郑州做网站公司有哪些
  • 网站建设制作免费咨询开发一个平台需要多少钱
  • 联想公司网站建设现状太原百度快照优化排名
  • 番禺制作网站报价管理系统
  • 收费网站空间百度pc端网页版
  • 湘潭网站建设 电话磐石网络百度大数据官网入口