Android Studio重命名包后重建项目失败,布局与R文件报错
全局替换旧包名的R类导入
按Ctrl+Shift+R(Windows/Linux)或Cmd+Shift+R(Mac)打开全局替换窗口,输入import com.oldname.appname.R,替换为import com.newname.appname.R,务必勾选「Include non-project files」,覆盖所有布局、Manifest、Java/Kotlin文件里的残留引用。修正Manifest与布局文件的包名引用
打开AndroidManifest.xml,确认根节点的package属性已改为com.newname.appname;布局文件中如果有自定义View的全类名引用,也要把旧包名替换成新的。对于tools:context=".MainActivity"的未解析提示,直接改成绝对路径tools:context="com.newname.appname.MainActivity"即可消除。清理IDE缓存并重启
点击顶部菜单栏File -> Invalidate Caches...,勾选「Invalidate and Restart」重启Android Studio。这一步能彻底清除IDE缓存中残留的旧包名映射,解决很多识别类的问题。重新同步与构建项目
重启后点击工具栏的「Sync Project with Gradle Files」按钮,待同步完成后,再次执行Build -> Clean Project和Build -> Rebuild Project,确保构建系统完全使用新包名生成资源文件。检查build.gradle的细节配置
再次确认模块级build.gradle中的namespace和applicationId均为com.newname.appname,同时检查是否有buildConfigField或其他自定义配置中硬编码了旧包名,如有一并修改。
内容的提问来源于stack exchange,提问作者geardan

