Android学习之模块化过程多渠道编译详解

本文介绍Android开发中的模块化多渠道编译,重点在于如何在模块化过程中处理POS机相关业务的编译。通过定义不同flavor,构建不同BuildConfig字段来区分业务,并通过动态设置依赖关系实现业务的编译分离。详细讲述了如何配置gradle文件,以及在遇到此类问题时的解决思路。
摘要由CSDN通过智能技术生成

本文和大家分享的主要是android开发中,模块化多渠道编译相关内容,一起来看看吧,希望对大家有所帮助。

  有赞微商城APP小组在搞模块化过程中需要把POS机相关的业务全部抽离出来,但是POS机的适配代码会散落在多个业务module 中,这才让我接触到了模块化过程中真正的多渠道编译。

  闲话少说,开始步入正题,把解决方案分享给大家,希望小伙伴能少走弯路。

  那么什么时候小伙伴会遇到我所遇到的问题呢?

  1. 你的项目在模块化,业务代码抽到了独立的library

  2. 你的library代码中需要通过 BuildConfig.FLAVOR 区分业务,例如:

  if (BuildConfig.FLAVOR.equals("weipos")) {

  // weipos related source

  else {

  //

  }

  3.

  首先,我先把目前的解决方案放出来。

  目前项目中,我们有很多渠道,这里主要关注一下项目中接入的POS机渠道 - iboxpaysunmiweipos,在我们的业务代码中,需要根据不同的flavor去区分实现不同的功能。

  在主工程的 build.gradle 文件中,我们定义了如下几种flavor

  productFlavors {

  def customFlavors = getCustomFlavors()

  if (customFlavors instanceof List) {

  customFlavors.each {

  flavor ->

  "$flavor"{

  }

  }

  }

  full {

  buildConfigField"boolean","POS","false"

  buildConfigField"String","DEVICE_TYPE","\"android\""

  }

  iboxpay {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值