修改Android应用包名后无法引用资源、生成签名APK问题求助
解决方案
- 第一步:修正包名大小写不一致问题
AndroidManifest.xml中package属性值和build.gradle的applicationId必须完全一致,你当前配置中前者为QRcodeAndBarcodeApp.example.qrcodeapp(code首字母小写),后者为QRCodeAndBarcodeApp.example.qrcodeapp(Code首字母大写),存在拼写差异。建议统一改为全小写格式,符合Java/Kotlin包名命名规范,避免大小写识别异常。 - 第二步:替换R资源导入语句
将MainActivity.kt中原有的导入语句
import com.example.qrcodeapp.R
替换为和你统一后的包名对应的导入,比如统一后包名为qrcodeandbarcodeapp.example.qrcodeapp,则导入改为:
import qrcodeandbarcodeapp.example.qrcodeapp.R
也可以直接删除原有导入语句,Android Studio会自动补全正确的R包引用。
- 第三步:检查源码目录结构
源码存放路径需要和包名完全匹配,比如统一后包名为qrcodeandbarcodeapp.example.qrcodeapp,则MainActivity.kt等源码文件需要放在src/main/java/qrcodeandbarcodeapp/example/qrcodeapp/目录下,目录名大小写和包名保持一致。 - 第四步:清理缓存重新构建
- 点击菜单栏
Build -> Clean Project清理旧构建产物 - 点击
Build -> Rebuild Project全量重新构建项目 - 如果问题仍存在,点击
File -> Invalidate Caches...,勾选所有选项后重启Android Studio,再尝试生成签名包
debug运行正常、release打包报错的情况,是因为debug构建会复用本地缓存的适配结果,而release构建会开启严格的包名一致性校验,缓存的异常配置就会暴露出来。
内容的提问来源于stack exchange,提问作者JustSightseeing
相关产品推荐
相关产品推荐

