实现数据绑定后更改包名 [英] Change Package Name after implementation of data binding
问题描述
我正在将 Databinding 与我的项目名称之一 com.abc.def 一起使用.我已经将我所有的观点都与
I'm using Databinding with one of my project with project name com.abc.def. I've related all my views with binding like
ActivityLoginBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_login);
它工作正常,但如果我将包名更改为 com.Abc.Def,它会在构建 Apk 时产生以下错误.
it worked fine but if I change my package name to com.Abc.Def it generated following error at the time of building Apk.
原因:无法猜测com.Abc.Def.databinding.ActivityLoginBindingImpl .
Cause: couldn't make a guess for com.Abc.Def.databinding.ActivityLoginBindingImpl .
请注意:
- 我在 Playstore 上有一个带有 com.Abc.Def 的旧版本,我正在更新版本.这就是我必须更改包名称的原因.
- 我无法从整个项目中删除数据绑定.因为它与所有视图相关.
- 如果我将包名更改为旧的,它就可以正常工作.
我已经尝试过清理、重建和使缓存无效并重新启动.但没有成功.
I have already tried clean , rebuild and invalidate cache and restart .but no luck.
推荐答案
我刚刚遇到了同样的问题.我能够通过在 Build.gradle(模块)中切换 databinding.enabled 来修复它.以下是我在重命名我的公司包 (com.abc.myapp -> com.xyz.myapp) 后所经历的一些分步指南,其中让数据绑定按预期工作:
I just bumped into the same issue. I was able to fix it by toggling databinding.enabled inside Build.gradle (Module). Below is a little step-by-step guide, that I went through after renaming my company package (com.abc.myapp -> com.xyz.myapp), which got databinding to work as expected:
- 构建 > 清理项目
转到您的Build.gradle(模块)并禁用数据绑定:
android {数据绑定{启用 = 假}}
文件 > 将项目与 Gradle 文件同步
现在再次启用数据绑定:
android {数据绑定{启用 = 真}}
文件 > 将项目与 Gradle 文件同步
构建 > 重建项目
<小时>
注意:这里的某些步骤可能是不必要的,但是在项目设置期间进行一点额外的健全性检查从来没有造成任何伤害,对吧!?
Note: Some steps here may be unnecessary, but a little extra sanity checking has never done any harm during project setup, right!?
这篇关于实现数据绑定后更改包名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!