Android Studio 多渠道打包

Android Studio 多渠道打包

本文以友盟分享为例。先看
这里写图片描述
第一步:在AndroidManifest中添加默认渠道

<meta-data android:name="UMENG_CHANNEL" android:value="wandoujia" />

第二步:在build.gradle 中定义buildTypes,productFlavors


  buildTypes {

        //这里的名字自定义
        release{

            // 这里是在 applicationId 中添加了一个后缀。
            applicationIdSuffix ".release"

            // 这里的作用是选择是否混淆代码
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }

        dev{
            applicationIdSuffix ".dev"
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

        }
    }

// 这里是为了不同的版本设置一些特殊的参数,并不直接和 buildType 关联。
    productFlavors{

//自定义名字不过不能和上面buildType中相同,不然Gradle编译会不通过。在这里使用了『flavors_』前缀以便区分。
        uc{
       /**
         * 这里所设置的变量可以直接使用在[AndroidManifest.xml]
         * 中,使用方式:android:label="${package_name}"
         */ 
            manifestPlaceholders = [str:"releaseStr",package_name:"com.example.administrator.myapplication"]

            resValue("string" , "strKey","uc")
        }

        baidu{
            manifestPlaceholders = [str:"devStr",package_name:"com.example.administrator.myapplication"]

            resValue("string" , "strKey","baidu")
        }

        wandoujia{
            manifestPlaceholders = [str:"devStr",package_name:"com.example.administrator.myapplication"]

            resValue("string" , "strKey","wandoujia")
        }
    }

第二步:Build -> Generate Signed Apk,选择签名文件,没有自行创建。选定Build Type,Flavors,这就是我们在build.gradle中定义的名字。Finish后再项目目录下就会生成各个渠道的apk啦。
这里写图片描述

不同渠道定义的resValue(strKey),你可以根据它去切换不同的图片资源。

String name = getResources().getString(R.string.strKey);
        if (name.equals("uc")){
            img.setImageResource(R.drawable.a);
        }else if(name.equals("baidu")){
            img.setImageResource(R.drawable.b);
        }else{
            img.setImageResource(R.drawable.c);
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值