'Databinding generated in the wrong package
I have several modules in my project and I've renamed one of them (including the packages). This module is an Android Library module with databinding
enabled.
After the renaming, the ActivityBindingImpl
file is generated in the old package.
The BR
and DataBinderMapperImpl
files are generated in the new package like this:
module
-- java (generated)
---- old.package
------ ActivityBindingImpl
---- new.package
------ BR
------ DataBinderMappingImpl
Then I get the expected a build error:
ActivityBindingImpl.java:2: error: cannot find symbol import old.package.BR
The package in the Manifest
file is correct.
I've tried to clean the project, invalidate Android Studio cache, disable/enable databinding
as explained here but nothing worked.
Edit:
kapt {
useBuildCache = false
}
Also didn't help :(
Solution 1:[1]
Adding kapt "com.android.databinding:compiler:3.1.4"
to the build.gradle
fixed the issue. Don't know why exactly.
Solution 2:[2]
Steps
Step 1.
buildFeatures {
viewBinding false
}
Step 2. Sync your project
Step 3. Clean and rebuild your project
Step 4.
buildFeatures {
viewBinding true
}
Step 5. Again Sync your project
Step 6. Clean and rebuild your project
it's work for me!
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Sir Codesalot |
Solution 2 | rabi |