Andrid Studio一个项目配置flavor打出不同的apk

1、要是build.gradle声明为application的项目,要配置不同资源代码出包,可以设置如下

        publishNonDefault true
        flavorDimensions "company"
        productFlavors{
            ay{
                //不设置会报错
                dimension "company"
       
                // 设置applicationId(这里很重要,两个相同applicationId的apk不同同时安装在同一台Android手机中)
                applicationId "com.johan.demo"

                // 自动生成@string/app_name为demo
                resValue "string","app_name","demo"

                // 定义app_icon字段,在AndroidManifest.xml文件中用到
                manifestPlaceholders = [app_icon : "@mipmap/ic_launcher"]
            }
    
            sswl{
                 //不设置会报错
                dimension "company"
                
                 // 设置applicationId(这里很重要,两个相同applicationId的apk不同同时安装在同一台Android手机中)
                applicationId "com.johan.demo"

                // 自动生成@string/app_name为demo
                resValue "string","app_name","demo"

                // 定义app_icon字段,在AndroidManifest.xml文件中用到
                manifestPlaceholders = [app_icon : "@mipmap/ic_launcher"]
            }
            ft{
                //不设置会报错
                dimension "company"

                // 设置applicationId(这里很重要,两个相同applicationId的apk不同同时安装在同一台Android手机中)
                applicationId "com.johan.demo"

                // 自动生成@string/app_name为demo
                resValue "string","app_name","demo"

                // 定义app_icon字段,在AndroidManifest.xml文件中用到
                manifestPlaceholders = [app_icon : "@mipmap/ic_launcher"]
            }
        }

注意:
1)publishNonDefault true 一定不能少,要不打出的apk是默认main的资源代码
2)其中,‘ay’、‘sswl’、‘ft’是跟main目录同级别的目录名称,可以自定义,跟main目录一样可以放置java、res、assets等
在这里插入图片描述
3) flavorDimensions "company" 这个“company”也是自己随意定义即可
4)需要打哪个资源的包就选择哪个build variants即可
在这里插入图片描述
2、若是build.gradle声明为library的项目,要配置不同资源代码出包,也是像上述代码一样配置,不过要是哪个application要引用到这个library项目的话,也得配置一样productFlavors
在这里插入图片描述
3、假如libs目录下的某个jar或者aar依赖库仅仅是某个flavor依赖到,那么可以在dependencies下配置上flavor名+Compile ,例如:

dependencies {
    api files('libs\\alicloud-android-sdk-beacon-1.0.3.jar')
    api files('libs\\alicloud-android-ut-5.4.3.jar')
    api files('libs\\alicloud-android-utdid-1.1.5.3.jar')
    api files('libs\\sdk_gism-1.3.2-confused.aar')
    ftCompile files('libs\\msg_client_1.1.2.jar')
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值