android studio 多渠道打包之gradle

1 在AndroidMainifest.xml文件中配置。

<span style="white-space:pre">	</span><meta-data
            android:name="UMENG_CHANNEL"
            android:value="${UMENG_CHANNEL_VALUE}" >
        </meta-data>

2 在build.gradle文件中配置。

可以设置一个默认渠道,也可以不设置。

<span style="white-space:pre">	</span>defaultConfig {
       <span style="white-space:pre">		</span> ..........
       <span style="white-space:pre">		</span> //默认渠道
       <span style="white-space:pre">		</span> manifestPlaceholders = [UMENG_CHANNEL_VALUE: "umeng"]
   <span style="white-space:pre">	</span>}
3 配置签名

 <span style="white-space:pre">	</span>//签名
    <span style="white-space:pre">	</span>signingConfigs{
       <span style="white-space:pre">		</span> release {
            <span style="white-space:pre">		</span>storeFile file("debug.keystore")
            <span style="white-space:pre">		</span>storePassword 'android'
           <span style="white-space:pre">		</span>keyAlias 'android'
           <span style="white-space:pre">		</span>keyPassword 'android'
        <span style="white-space:pre">	</span>}
    <span style="white-space:pre">	</span>}
4 设置渠道,导出渠道包是并修改每一个apk的文件名

buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            //多渠道包时顺便签名
            signingConfig signingConfigs.release
            //修改每个渠道包的文件名
            applicationVariants.all { variant ->

                variant.outputs.each { output ->

                    output.outputFile = new File(

                            output.outputFile.parent,

                            "bashiapp-${variant.buildType.name}-${defaultConfig.versionName}-${variant.productFlavors[0].name}.apk".toLowerCase())

                }

            }
            //渠道
            productFlavors {
                umeng{}
                wandoujia{}
                xiaomi{}
                qq{}
                _360 {}
            }

            productFlavors.all {
                flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
            }
        }
    }
在这里配置就算基本结束了。

5 打包

使用命令:

<span style="white-space:pre">		</span>gradlew assembleReleae
请注意APK的版本号,如果低于市场版本的版本号,打包出来的apk取法替换市场版本。

gradle多渠道打包方式速度较慢,有一种快速的打包方式采用Python 的脚本,可参考:点击打开链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值