We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
其实productFlavors这个安卓的gradle配置特性我很早就见过了! 一只没有正式使用过。 主要的原因是不知道怎么用!
面对这几项问题会对git产生很多“无意义”而又不得不做的git commit。 经常为了适配不同的情况去修改配置,还要反复检查。整多了就烦,难道就没有一劳永逸解决问题方法吗?
需要在app基本配置(gradle8.0后必须)
buildFeatures { buildConfig = true }
这样就会自动生成 {package}.Config类,你可以在java(generated)中看到
flavorDimensions "version" productFlavors { dev { //... } qa { //... } stable { //... } }
我记得中文翻译叫“产品变体”,感觉略显生硬。 如上我针对配置了三种输出
dev:测试环境
qa:测试环境
stable:发布环境
前面只是讲了配置,然而和我第一次学的时候“看上去没什么卵用” 接下来讲讲具体细节和作用
不仅资源可以专属,App的代码也可以这么玩,惊喜不惊喜。这样代码自由度瞬间提升 比如
我device的变体中 我使用的正式的EWSRepository
但是我在模拟器输出版本中 我只实现了Mock版,更关注UI的细节,算是一个“阉割版本”
比如这样,再也不用担心内测的时候被自动更新覆盖了! Debug直接skip,而且这样写又不会影响到发布版功能的完整性。
首先buildConfigField是什么? 说白了就是.net里面的app.config里面的appSettings。
但是和productFlavors配合使用就更爽了
这样配置以后,直接可以通过BuildConfig动态获取
特别注意:如果是String,要写成这样 buildConfigField("String","{field name}",""{field value}"") 这和代码自动生成有关,不深入讲了
以上基本上productFlavors和buildConfig把配置中遇到的一些痛点全搞定了。看来对于一些复杂项目是必要的
这里吐槽一把,Android Stuido的IDE配置入口的链接改版了不知道去哪里了 这篇非常重要的配置文档的中文版也不知道去哪里了,英文版将就看看吧
The text was updated successfully, but these errors were encountered:
No branches or pull requests
前言
其实productFlavors这个安卓的gradle配置特性我很早就见过了!
一只没有正式使用过。
主要的原因是不知道怎么用!
安卓程序配置中的几大痛点
面对这几项问题会对git产生很多“无意义”而又不得不做的git commit。
经常为了适配不同的情况去修改配置,还要反复检查。整多了就烦,难道就没有一劳永逸解决问题方法吗?
救世主“productFlavors”、“buildConfig”登场
所以说productFlavors,buildConfig 常规情况下完全不需要使用,只有当你碰到配置开始“手忙脚乱”了,就可以开始考虑了
需要在app基本配置(gradle8.0后必须)
这样就会自动生成 {package}.Config类,你可以在java(generated)中看到
我记得中文翻译叫“产品变体”,感觉略显生硬。
如上我针对配置了三种输出
dev:测试环境
qa:测试环境
stable:发布环境
“productFlavors”和“buildConfig”威力和联动效果
前面只是讲了配置,然而和我第一次学的时候“看上去没什么卵用”
接下来讲讲具体细节和作用
不仅资源可以专属,App的代码也可以这么玩,惊喜不惊喜。这样代码自由度瞬间提升
比如
我device的变体中
我使用的正式的EWSRepository
但是我在模拟器输出版本中
我只实现了Mock版,更关注UI的细节,算是一个“阉割版本”
比如这样,再也不用担心内测的时候被自动更新覆盖了!
Debug直接skip,而且这样写又不会影响到发布版功能的完整性。
首先buildConfigField是什么?
说白了就是.net里面的app.config里面的appSettings。
但是和productFlavors配合使用就更爽了
这样配置以后,直接可以通过BuildConfig动态获取
特别注意:如果是String,要写成这样 buildConfigField("String","{field name}",""{field value}"")
这和代码自动生成有关,不深入讲了
总结&参考链接
以上基本上productFlavors和buildConfig把配置中遇到的一些痛点全搞定了。看来对于一些复杂项目是必要的
这里吐槽一把,Android Stuido的IDE配置入口的链接改版了不知道去哪里了
这篇非常重要的配置文档的中文版也不知道去哪里了,英文版将就看看吧
The text was updated successfully, but these errors were encountered: