模块管理

更新时间:2018-03-15 11:15:42

简介

针对拆分出多个模块且模块通过 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}'}

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

  1. Pod::Spec.new do |s|
  2. s.name = "EmasDemo"
  3. s.version = "${version}"
  4. s.summary = "EmasDemo类库"
  5. s.description = <<-DESC
  6. * Detail about EmasDemo framework.
  7. DESC
  8. s.homepage = "www.taobao.com"
  9. s.license = {
  10. :type => 'Copyright',
  11. :text => <<-LICENSE
  12. Alibaba-INC copyright
  13. LICENSE
  14. }
  15. s.author = { "开发者" => "develepor@alibaba.com" }
  16. s.platform = :ios
  17. s.ios.deployment_target = '8.0'
  18. s.source = { :http => '${url}'}
  19. s.vendored_frameworks = 'EmasDemo.framework'
  20. s.requires_arc = true
  21. s.xcconfig = { 'FRAMEWORK_SEARCH_PATHS' => '$(PODS_ROOT)/EmasDemo' }
  22. end

关联已有公共模块

iOS 和 Android 方式一致;

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

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

关联已有