Android Studio多渠道打包之productFlavors
发布于 2022-07-10 23:12:26阅读 2463
我的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"]
        }
    }
}
指定调试模式使用的渠道
有个问题,上面配置了多个渠道,那调试模式使用的是哪个渠道呢?

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

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