You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android多Flavor环境下HomeViewModel导入路径不一致问题求助

解决不同Flavor下ViewModel导入路径不一致的问题

根本原因是core和foss两个Flavor下的HomeViewModel包结构不统一:core的类在viewmodels根包,foss的类在com.blazecode.tsviewer.viewmodels带前缀的包,导致编译时类路径解析不同,必须用不同的导入语句。

解决方案:统一包结构

将core Flavor下的HomeViewModel文件,移动到与foss一致的包路径中:

  • 原core路径:src/core/java/viewmodels/HomeViewModel.kt
  • 修改后路径:src/core/java/com/blazecode/tsviewer/viewmodels/HomeViewModel.kt

完成后,两个Flavor的HomeViewModel全限定包名都为com.blazecode.tsviewer.viewmodels,此时不管切换哪个Flavor,都可以统一使用:

import com.blazecode.tsviewer.viewmodels.HomeViewModel

可选优化:简化导入(按需使用)

如果觉得全路径导入繁琐,可以在HomeScreen文件顶部添加包别名:

import com.blazecode.tsviewer.viewmodels as vm

之后使用ViewModel时可以简写为vm.HomeViewModel。

关于现有配置的说明

你当前的sourceSets配置无需修改,只要确保两个Flavor的Java目录下包结构统一,Gradle会自动正确加载对应Flavor的类文件。

内容的提问来源于stack exchange,提问作者BlazeCodeDev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 17:02:09