Android Studio中Kotlin项目重命名包后出现Unresolved Reference错误
检查build.gradle配置一致性
确认模块级和项目级build.gradle(或build.gradle.kts)中的applicationId与新包名完全匹配。同时查看sourceSets配置,确保Kotlin源码路径(如sourceSets.main.kotlin.srcDirs)指向新包名对应的目录结构,避免路径映射错误。核对AndroidManifest.xml全量引用
除根节点的package属性,逐一检查所有组件(Activity、Service、Receiver等)的android:name属性,确认是否使用新包名或正确的相对路径;同时排查权限、ContentProvider的authorities字段,这些位置常隐藏旧包名硬编码。排查资源文件中的包名引用
全局搜索布局文件、strings.xml等资源文件,确认是否存在旧包名的硬编码(如第三方SDK的APP_KEY绑定包名),部分配置类可能通过@string间接引用旧包名,需同步更新对应字符串资源。验证包声明与目录结构匹配
确保每个Kotlin文件顶部的package声明与所在目录层级完全对应。例如新包名为com.new.app,文件需放在src/main/kotlin/com/new/app目录下,包声明必须为package com.new.app,目录层级与包名的点分隔需一一对应。彻底清理构建缓存
手动删除项目根目录的.gradle、build文件夹,以及模块目录下的build文件夹,然后执行命令行构建:./gradlew clean build(Windows系统用gradlew.bat clean build),彻底清除旧构建缓存残留。检查依赖模块与第三方库适配
若项目包含本地依赖模块,需同步修改其包名并确认主项目引用正常;部分第三方库可能通过反射调用指定包名下的类,需查阅库文档确认是否需针对新包名调整配置。更新混淆规则(若启用)
打开proguard-rules.pro或consumer-rules.pro,检查是否存在针对旧包名的-keep规则,将其替换为新包名,避免混淆过程中误处理类引用导致解析失败。
内容的提问来源于stack exchange,提问作者Iman B. Rad

