调试时使用源码,编译时使用SDK配置方法

问题背景

项目工程引用了一个需要自己维护的SDK,由于集成形式原因,开发SDK中需求时,验证需要重新打包给主工程,且在调试时无法打断点到SDK代码中。为了解决上述痛点,我们采用在调试时使用源码编译,发版时使用SDK编译的配置方法。

技术路线
  1. 两个git分别管理,仅通过修改配置完成切换
  2. submoudle将SDK的git集成在主工程中,为了方便可以新增一个buildType,需要调测相关需求时使用新的编译选项,这种方案修改内容较多,而且需要更改git管理范围,有些不友好,推荐方案一
方案一:切换配置方案

切换配置方案比较好执行,只需要在工程目录的settings.gradle增加一个module配置,以及在引用这个aar的地方替换依赖为module依赖。

  1. 下载aar工程代码
  2. 给宿主工程添加aar的moudle,找工程的settings.gradle,增加aar的module
include 'integratedAar'
project('integratedAar:').projectDir =file('aarFilePath/app')
  1. 找到这个aar的依赖配置位置,改为
api project(':integratedAar')
  1. 重新同步gradle开始调测吧~

为了方便配置,搞了个小脚本自动化起来。

# AAR代码目录,使用前请自行查询
AAR_PATH = "xxxxxx"

SETTINGS_PATH = "settings.gradle"
DEPENDENCIES_PATH = "xxxx/build.gradle"

print("请确认是否需要修改AAR代码目录[" + AAR_PATH + "]")

# 配置Moudle
file = open(SETTINGS_PATH, "r")
content = file.read()
file.close()

content += "\ninclude 'integratedAar'"
content += "\nproject(':integratedAar').projectDir =file('" + AAR_PATH + "/AarProject/app')"
file = open(SETTINGS_PATH, "w")
file.write(content)

# 替换AAR依赖
lines = []
file = open(DEPENDENCIES_PATH, "r")
for line in file:
    if "AAR_NAME" in line:
        lines.append("\tapi project(':integratedAar')\n")
    else:
        lines.append(line)
file.close()

s = ''.join(lines)

file = open(DEPENDENCIES_PATH, "w")
file.write(s)

print("AAR源码依赖配置完成,请开始调测。")

方案二:submoudle方案
  1. 在需要集成module的目录执行命令
git submodule add ssh://git@gitlab.aarProject.git
  1. 配置module
    settings.gradle中配置开户module
include 'integratedAar'
project(':integratedAar').projectDir = file('/AarProject/app')

projectDir 为module相对settings.gradle的路径

  1. 开始调试,在工程根目录执行命令,仅在第一次时需要执行,本质就是下载代码,后面再用时注意到对应目录进行代码更新即可;
git clone  ssh://git@gitlab.aarProject.git /integratedAar/aar(集成module的目录)
  1. 修改依赖配置。

找到依赖AAR的位置,将该行注释掉,在后面加上如下命令

api project(':integratedAar')
  1. 编译工程进行调试;
  2. 如需要切换业务分支,请cd到aar集成目录下正常切换分支就可以;
【参考资料】

http://www.worldhello.net/gotgit/04-git-model/040-submodule-model.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kiba_zwei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值