Android多Flavor项目中Dynatrace仅指定变体生效的配置失效问题
Android多Flavor项目中Dynatrace仅指定变体生效的配置失效问题
兄弟,我太懂你这种头疼的感觉了——明明只想让bbb和ccc的Release变体加载Dynatrace,结果连Debug包都在往Dynatrace后台上报数据,这明显是配置没起到过滤作用。
你之前的写法只给目标变体加了配置,但没明确禁用其他所有变体的Dynatrace默认配置,Dynatrace的Gradle插件默认会对所有变体启用基础代理注入,这就是为啥Debug包也生效了。
给你个修正后的配置方案,亲测有效:
dynatrace { // 第一步:全局默认禁用所有变体的Dynatrace配置 defaultConfig { enabled false } configurations { // 为bbbRelease单独启用并配置 bbbRelease { enabled true autoStart { applicationId 'id1' beaconUrl 'url1' } userActions.enabled true userOptIn false agentBehavior.startupLoadBalancing true sessionReplay.enabled false } // 为cccRelease单独启用并配置 cccRelease { enabled true autoStart { applicationId 'id2' beaconUrl 'url2' } userActions.enabled true userOptIn false agentBehavior.startupLoadBalancing true sessionReplay.enabled false } } }
关键说明:
defaultConfig { enabled false }是核心:把所有变体的Dynatrace默认开关关掉,这样只有你明确设置enabled true的变体才会加载代理。- 一定要确保变体名称完全匹配(比如
bbbRelease是flavor+buildType的组合,大小写、拼写都不能错),不然配置会不生效。
另外,改完配置后记得执行./gradlew clean清空构建缓存,再重新编译对应变体,避免旧配置残留导致的问题。如果还是有问题,可以检查下模块级build.gradle里的productFlavors和buildTypes块有没有额外的Dynatrace相关配置,确保没有冲突。
内容来源于stack exchange
相关产品推荐
相关产品推荐

