升级Android Studio后APK遭Google Drive病毒误报的排查求助
问题原因分析
- 依赖残留与冲突:Hello World依赖极简,升级Compose BOM后能完全同步所有关联依赖版本;但自有应用可能存在第三方库硬编码旧版Compose依赖的情况,导致BOM升级后仍有旧版代码残留,这些代码的特征被病毒检测引擎误判。
- 应用自身特征触发误报:自有应用的业务代码(如特定网络请求逻辑、本地数据加密方式)、敏感权限声明,可能与病毒库中Trojan-Spy.AndroidOS.Banker的特征匹配,而Hello World无此类内容,因此升级BOM即可消除误报。
- Gradle隐性配置差异:即使替换了gradle和toml文件,自有应用的
gradle.properties、模块级自定义编译配置、签名细节等,可能与Hello World存在差异,这些差异会改变APK的字节码特征,触发检测。
排查与解决步骤
- 彻底清理Compose依赖冲突
- 执行命令导出依赖树:
# macOS/Linux ./gradlew app:dependencies # Windows gradlew.bat app:dependencies - 搜索所有Compose相关依赖,确认是否存在未被BOM管理的旧版依赖。若有冲突,在模块
build.gradle.kts中强制排除:implementation("第三方库坐标") { exclude(group = "androidx.compose") } - 执行
./gradlew clean build --refresh-dependencies重新构建,确保所有Compose依赖均为2024.12.01版本。
- 执行命令导出依赖树:
- 对比APK特征差异
- 用
apktool反编译正常的Hello World(替换自有配置后)和报错的自有应用APK。 - 对比
smali代码、AndroidManifest.xml的权限/组件声明,找出与Hello World不同的敏感逻辑或权限,尝试临时移除或修改后重新构建测试。
- 用
- 排查Gradle配置细节
- 对比两者的
gradle.properties,检查android.enableR8.fullMode、minSdkVersion等编译配置是否一致。 - 确认签名配置(密钥库类型、算法)是否与Hello World一致,部分签名特征可能引发误判。
- 对比两者的
- 提交误报申诉
若确认是误判,准备好签名APK、Virustotal检测报告、应用合法用途说明,通过Google安全中心的误报申诉通道提交,要求解除检测标记。
内容的提问来源于stack exchange,提问作者rockline
相关产品推荐
相关产品推荐

