Android开发——利用productFlavors实现一套代码打包多版本

发布时间:2020-05-21 21:32:44 作者:孤月2012
来源:网络 阅读:10146

一、需求背景

实际项目开发过程中,经常会遇到这样的场景:一个项目要根据需要打包成多个存在差异的版本,比如对外版本、对内版本,或者开发版本、测试版本、线上版本等等……那么如何通过维护一套代码的前提下实现打包多版本的需求呢?在Android Studio中我们可以使用productFlavors来实现这样的需求。


二、创建差异化版本目录结构

根据版本的差异化在src目录下创建对应的java文件夹,如下图:

Android开发——利用productFlavors实现一套代码打包多版本

创建external与internal版本,将版本差异化的代码文件放在这2个目录对应的文件夹下,具体的目录层次同main下面的一样即可;


三、配置gradle文件

在moudle的gradle配置文件中增加如下配置:

android {
  
  ……
  
    productFlavors {
        internal {
            manifestPlaceholders = [app_label:"对内app"]
            applicationId "com.ad.demo.internal"
        }
        external {
            manifestPlaceholders = [app_label:"对外app"]
            applicationId "com.ad.demo.external"
        }
    }
}


四、在代码中判断版本

如果有些逻辑需要在代码中判断版本,可以通过BuildConfig.FLAVOR去获取当前选择的是什么版本值:

if(BuildConfig.FLAVOR.equals("external")){
    textView.setText(getResources().getString(R.string.my_app_name) + "对外应用");
}


五、按版本打包

签名打包的时候,选择对应的版本即可

Android开发——利用productFlavors实现一套代码打包多版本


推荐阅读:
  1. Android开发实践:利用ProGuard进行代码混淆
  2. 如何利用rpm打包上线部署golang代码

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

打包 product android

上一篇:Passing Data from Stage to Stage(在渲染管线各个阶段之间传递数据)

下一篇:Scala中List、Map、Set各类型操作汇总

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》