实施数据绑定后更改程序包名称

Tej*_*dya 5 data-binding android package android-studio

我将数据绑定与项目名称为com.abc.def的一个项目一起使用。我已经将所有视图与绑定相关联,例如

ActivityLoginBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_login);
Run Code Online (Sandbox Code Playgroud)

它工作正常,但是如果我将包名称更改为com.Abc.Def, 则在构建Apk时会生成以下错误。

原因:无法猜测com.Abc.Def.databinding.ActivityLoginBindingImpl。

请注意

  1. 我在playstore上使用com.Abc.Def建立了旧版本,并且正在更新版本。这就是为什么我必须更改程序包名称。
  2. 我无法从整个项目中删除数据绑定,因为它与所有视图相关。
  3. 如果我将软件包名称更改为旧的,则可以正常使用。

我已经尝试清理,重建并使缓存无效并重新启动。但是没有运气。

Bas*_*ond 20

我刚刚遇到了同样的问题。我能够通过在 Build.gradle (Module) 中切换 databinding.enabled修复它。下面是一个小的一步一步的指导,我经历了重命名我公司包后(COM。ABC - .myapp>融为一体XYZ,其中有数据绑定工作如预期.myapp):


  1. 构建 > 清理项目
  2. 转到您的Build.gradle(模块)禁用数据绑定

    android { dataBinding { enabled = false } }

  3. 文件 > 将项目与 Gradle 文件同步

  4. Build > Rebuild Project(毫不奇怪:你会收到大量错误消息)
  5. 现在再次启用数据绑定

    android { dataBinding { enabled = true } }

  6. 文件 > 将项目与 Gradle 文件同步

  7. 构建 > 重建项目


注意:这里的某些步骤可能是不必要的,但是在项目设置期间进行一点额外的健全性检查从来没有造成任何伤害,对吧!?

  • 我按照这些步骤操作,但结果是相同的,重新启动 Android Studio 后修复了错误 (3认同)