Android Studio 使用Gradle多渠道打包

一、使用Gradle进行类似小米这样的多渠道打包

使用Gradle Android插件里的productFlavors。
假设我们要打包出如下的渠道xiaomi,waps

第一种方法

在app/src同级目录下新建xiaomi,waps文件夹,这两个文件夹里面都各只有一个AndroidManifest.xml文件
内容如下:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="package name">
    <application> 
    <meta-data android:name="XIAOMI_CHANNEL" android:value="xiaomi"/>
    </application>
</manifest>

注意,上面的value的值要和你的渠道名所对应。
然后在build.gradle的android{}节点里面,添加productFlavors节点,代码如下:

  //其他配置
 productFlavors {
        waps {}
        xiaomi{}
    }
  //其他配置

注意:这里的productFlavors 的名字要和你的文件夹的名字对应。这样配置之后,构建的就是多渠道的APK了。 同步一下配置文件,就可以执行Build-Generate Signed APK 打包。

第二种方法

不用创建那些文件,它使用的是Gradle Android插件里的另一个功能,manifestPlaceholders。
你只需要在AndroidManifest.xml中,进行这样配置:

<meta-data android:name="XIAOMI_CHANNEL" android:value="${CHANNEL_NAME}" />

然后同样使用productFlavors,它的配置是这样的:

  productFlavors{
        xiaomi{
            manifestPlaceholders = [ CHANNEL_NAME:"xiaomi"]
        }
        waps{
            manifestPlaceholders = [ CHANNEL_NAME:"waps"]
        }

    }

使用manifestPlaceholders的这种配置,同样适用于manifest的其他配置。比如你需要在不同渠道发布的apk里面,指定不同的启动Activity。比如在小米里发布的,启动的Activity显示的是小米首发的界面,你就可以对你的activity的值使用 activitynameproductFlavors {activityname}的值。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值