Skip to content

Latest commit

 

History

History
92 lines (68 loc) · 4.35 KB

File metadata and controls

92 lines (68 loc) · 4.35 KB

如何使用该项目进行开发?

直接使用该项目代码会遇到的问题

  • 最直接的就是 包名 每个应用包名都是唯一且有意义的

解决方案

针对 包名 替换问题,已编写 DevReplace 项目进行快捷替换

便于直接使用该模板进行组件化开发,减少使用者包名替换、重新搭建组件化流程。

核心实现代码 DevReplace.Code,代码执行入口 ReplaceMain

DevReplace 使用步骤

  1. Clone https://github.com/afkT/DevComponent.git 项目到本地
  2. 打开项目根目录,进入 /interesting/DevReplace 文件目录,定位并打开 Code.kt 文件
  3. 搜索 const val REPLACE_PACKNAME = "" 并修改字符串值为待变更包名,例:com.afkt.shop
  4. 同目录打开 ReplaceMain.kt 文件,执行 main 方法,完成替换包名第一步
  5. 进行全局搜索 afkt_replace 并替换为刚才 REPLACE_PACKNAME 字符串设置的包名,并结束替换流程

至此整个流程结束,成功将该项目包名替换为指定包名

  • 最后只需 clean project 并进行 rebuild 即可使用该组件化模板进行个人、公司项目开发
  • 项目文件名 ( DevComponent ) 直接手动修改即可
  • 执行该操作结束后记得把 .git 文件夹删除,再 push 到 git 服务器上

替换包名结果目录展示

- core                        | 根目录
   - core                     | com.afkt.shop.core
   - core_base_lib            | com.afkt.shop.core.base.lib
   - libs                     | 
      - lib_base              | com.afkt.shop.core.lib.base
      - lib_base_split        | com.afkt.shop.core.lib.base.split
      - lib_bean              | com.afkt.shop.core.lib.bean
      - lib_channel_flavors   | com.afkt.shop.core.lib.channel
      - lib_config            | com.afkt.shop.core.lib.config
      - lib_debug_assist      | com.afkt.shop.core.lib.debug
      - lib_engine            | com.afkt.shop.core.lib.engine
      - lib_environment       | com.afkt.shop.core.lib.environment
      - lib_language          | com.afkt.shop.core.lib.language
      - lib_mvvm              | com.afkt.shop.core.lib.mvvm
      - lib_network           | com.afkt.shop.core.lib.network
      - lib_property          | com.afkt.shop.core.lib.property
      - lib_receiver          | com.afkt.shop.core.lib.receiver
      - lib_router            | com.afkt.shop.core.lib.router
      - lib_ui                | com.afkt.shop.core.lib.ui
      - lib_ui_skin           | com.afkt.shop.core.lib.ui.skin
      - lib_upload            | com.afkt.shop.core.lib.upload
      - lib_utils             | com.afkt.shop.core.lib.utils
      - lib_web               | com.afkt.shop.core.lib.web
- application                 | 根目录
   - app                      | com.afkt.shop.component
   - module                   | 
      - module_main           | com.afkt.shop.module.main
      - module_movie          | com.afkt.shop.module.movie
      - module_person         | com.afkt.shop.module.person
      - module_splash         | com.afkt.shop.module.splash
      - module_template       | com.afkt.shop.module.template
      - module_tv             | com.afkt.shop.module.tv

如上结果展示可得出

  • 主体应用 ( APP 壳工程 ) 包名为 com.afkt.shop.component
  • 各个 module 包名为 com.afkt.shop.module.xxxx
  • core-libs 为 com.afkt.shop.core.lib.xxx

如果对该包名结构不满意,可自行在执行替换操作之后进行修改,最大程度减少替换包名的复杂性。

并同步修改 file/gradle/modular.gradle 文件中 modularVersion 的各个 module applicationId 包名配置即可