4000-520-616
欢迎来到免疫在线!(蚂蚁淘生物旗下平台)  请登录 |  免费注册 |  询价篮
主营:原厂直采,平行进口,授权代理(蚂蚁淘为您服务)
咨询热线电话
4000-520-616
当前位置: 首页 > 新闻动态 >
热卖商品
新闻详情
Android多渠道包实现不同功能_cnting-CSDN博客
来自 : CSDN技术社区 发布时间:2021-03-24

需求 华为渠道使用华为支付 其他渠道使用支付宝、微信

这样就要求在支付页面 选择支付方式时 华为渠道显示的是华为支付 而其他页面显示的是支付宝和微信

实现 1. 使用productFlavors,共用大部分代码 而支付页面做功能上的区分 在src目录下新建两个文件夹huawei和normal 跟main文件夹在同一级。在huawei和normal里可以建java和res目录 里面就可以放同名的activity了。如果说一个activity大部分地方是相同的 只有个按钮不同 这个就得靠自己抽象出来了
\"新建huawei和normal文件夹\"在app级的build.gradle文件中添加productFlavor
android { flavorDimensions app  productFlavors { huawei {} normal {} sourceSets { main { java.srcDir src/main/java  res.srcDir src/main/res  jniLibs.srcDir src/main/jniLibs  manifest.srcFile src/main/AndroidManifest.xml  assets.srcDir src/main/assets dependencies { huaweiImplementation com.huawei.android.hms:iap:2.6.1.301 

这样就可以在Build Variants里看到多种build方式
\"Build

可以通过sourceSets控制代码和资源 会使用如下规则 所有的源代码(src/*/java)会以多文件夹的方式一起被使用生成一个输出。所有Manifest文件会合并成一个 manifest 文件。这允许 Product Flavors 有一些不同的组件定义或者权限声明 类似于 Build Types 。所有的资源( Android res 和 assets )都会遵循优先级覆盖的原则 Build Type 会覆盖 Product Flavor 最后又都会覆盖 main sourceSet .每一个 Build Variant 会基于资源生成他们自己的R类(或者生成其他的源代码) variant之间不会共享。
所以如果想把SplashActivity的图片改成带华为图标的 则在huawei/res/里放入一个相同的文件名的图片就可以了 2.使用第三方SDK

有些渠道使用第三方sdk 比如在华为渠道添加华为支付 使用下面这种方式 即渠道名 Implementation

dependencies { huaweiImplementation com.huawei.android.hms:iap:2.6.1.301 
3.使用walle 如何打渠道包

walle是在productFlavors下一级生成多个渠道包 如果配置了productFlavor 生成的渠道包会如下

huaweiRelease 360xiaomihuawei… normalRelease 360xiaomihuawei…
所以如果想只有华为渠道用huaweiRelease的包 其他渠道用normal的包 可以先将normal的包都打出来 然后再单独打个huawei的包 如下代码
basePath $(cd ../ ;pwd)#把所有normal的包都打出来../gradlew -p $basePath clean assembleNormalReleaseChannels -PchannelFile $basePath/app/channel#单独打华为的包../gradlew -p $basePath assembleHuaweiReleaseChannels -PchannelList huawei

Demo地址 https://github.com/cnting/ProductFlavorDemo

参考
[1]: https://www.mtyun.com/library/mt-apk-adaptation
[2]: http://www.cfm880.com/2017/07/08/记一次gradle多渠道 功能分割/
[3]: https://blog.csdn.net/u012551350/article/details/51274284
[4]: https://ghui.me/post/2015/03/create-several-variants/
[5]:https://zhuanlan.zhihu.com/p/33722674
[6]:https://gradle-guide.books.yourtion.com/Chapter06/64.html

本文链接: http://createflavours.immuno-online.com/view-689420.html

发布于 : 2021-03-24 阅读(0)
公司介绍
品牌分类
联络我们
服务热线:4000-520-616
(限工作日9:00-18:00)
QQ :1570468124
手机:18915418616
官网:http://