全部产品

模块管理

更新时间:2018-09-06 17:55:33

简介

针对拆分出多个模块且模块通过 EMAS 平台进行管理的客户端应用,所有的依赖模块都存在于应用的构建菜单下。这样的客户端工程在项目构建时,主要是以变更的形式将模块添加到项目中。只有跟当前客户端应用有关联关系的模块,才可以在项目构建中选择到并添加成变更。

新建模块

Android

进入 Native 研发,选择你的应用,点击左侧菜单的【构建】,点击【依赖模块】,再点击【新建模块】。输入参数,【确定】保存。关联后可以选择【取消关联】。 新建模块

  • 【模块属性】根据实际情况选择,同时关联多个客户端的模块为公有模块,仅关联一个客户端的模块为私有模块;
  • 【依赖类型】根据实际情况选择,如果是拥有代码权限,可以自行编辑代码,就选择源码依赖;如果没有代码权限,直接依赖 jar 包、framework 等,就选择坐标依赖;
  • 【模块名称】bundle的名称
  • 【代码库地址】构建配置中填写的客户端工程的代码库地址
  • 【groupId】mvn 坐标,项目组织唯一的标识符,实际对应 JAVA 的包的结构,是 main 目录里java 的目录结构;
  • 【artifactld】mvn坐标,是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。
  • 【gavType】模块类型,包括 aar、jar、awb、so

iOS

iOS模块

  • 【模块属性】根据实际情况选择,同时关联多个客户端的模块为公有模块,仅关联一个客户端的模块为私有模块;
  • 【依赖类型】根据实际情况选择,如果是拥有代码权限,可以自行编辑代码,就选择源码依赖;如果没有代码权限,直接依赖 jar包、framework 等,就选择坐标依赖;
  • 【cocoaPods名称】cocoaPods 的名称
  • 【代码库地址】构建配置中填写的客户端工程的代码库地址

模块默认打出来会发布到仓库,因此需要正确的书写项目里面的podspec文件。podspec尽量做到精简,格式如下。其中特别注意的是

s.version = "${version}"

s.source = { :http => '${url}'}

两行必须按照这个格式书写,发布时平台会自动替换成正确的值。

Pod::Spec.new do |s|

  s.name         = "EmasDemo"
  s.version      = "${version}"
  s.summary      = "EmasDemo类库"
  s.description  = <<-DESC
                   * Detail about EmasDemo framework.
                   DESC

  s.homepage     = "www.taobao.com"
  s.license = {
  :type => 'Copyright',
  :text => <<-LICENSE
       Alibaba-INC copyright
  LICENSE
  }
  s.author       = { "开发者" => "develepor@alibaba.com" }
  s.platform     = :ios
  s.ios.deployment_target = '8.0'
  s.source       = { :http => '${url}'}
  s.vendored_frameworks = 'EmasDemo.framework'
  s.requires_arc = true
  s.xcconfig = { 'FRAMEWORK_SEARCH_PATHS' => '$(PODS_ROOT)/EmasDemo' }
end

关联已有公共模块

iOS 和 Android 方式一致;

进入 Native 研发,选择你的应用,点击左侧菜单的【设置】,点击【依赖模块】,再点击【关联已有】,选择一个模块,【确定】保存。关联后可以选择【取消关联】。

关联已有中能查到当前平台下同一个应用类型的所有的公有模块。

关联已有