Android 多App module工程 实践

2,515 阅读1分钟

背景介绍

场景:

项目有 2 个 App,每个 App 都有各自的 gradle.properties
2 个 App 都依赖一个相同的 Android Library: CommonLib

原有方案:

两个 App 放在 2 个 Android Project 中,CommonLib 放在其中一个 Android Project,另一个 Project 通过远程依赖依赖 CommonLib。
痛点:

  1. 修改 CommonLib 时,远程依赖的 Project 代码不能自动修改。
  2. 打包上传、下载同步耗时。

解决方案

将2个 App module 放到同一个 Project 工程中
要点:

  1. 原来放在 Project gradle.properties 中的 properties 要收归到对应的 App Module properties

从指定 properties 文件加载数据

  1. 在对应的module下面新建 properties 文件,例如 app.properties。
  2. 在 build.gradle 中加载文件
def appProperties = new Properties()
appProperties.load(new FileInputStream(getProject().file("app.properties")))
  1. 使用propertie 对象获取value
appProperties['BASE_URL']