Android Studio多渠道打包之productFlavors

发布于 2022-07-10 23:12 阅读 1498

我的app目前有两个渠道,Google play和官网,两者最大的差异是Google play对接了内购。所以需要有个方法能把两者区分开来,只有Google play渠道才显示内购相关的界面。这个方法就是打渠道包

配置productFlavors

修改AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="net.cuiwei.voice">

    <application
        android:theme="@style/AppTheme">

        <meta-data android:name="CHANNEL" android:value="${CHANNEL_VALUE}" />

    </application>

</manifest>

修改build.gradle

android {
    defaultConfig {
    ...
        //必须要保证所有的flavor 都属于同一个维度
        flavorDimensions "default"
    }
    ...
    productFlavors {
        guanwang {
            manifestPlaceholders = [CHANNEL_VALUE: "guanwang"]
        }
        google {
            manifestPlaceholders = [CHANNEL_VALUE: "google"]
        }
    }

}

指定调试模式使用的渠道

有个问题,上面配置了多个渠道,那调试模式使用的是哪个渠道呢?

WX202207102247582x.png

其实是可以配置的,如下图

WX202207102252162x.png

如果你如图切换了渠道没起作用,建议重启一下Android Studio

广而告之,我的新作品《语音助手》上架Google Play了,欢迎下载体验