evant / binding-collection-adapter

Easy way to bind collections to listviews and recyclerviews with the new Android Data Binding framework
Apache License 2.0
1.92k stars 256 forks source link

Databinding has some problem: NoSuchMethodError: android.databinding.BindingBuildInfo.enableDebugLogs()Z #79

Closed YouZiQian closed 6 years ago

YouZiQian commented 7 years ago

When I upgrade BindingCollectionAdapter to 2.1.0 this problem has occurred. Sync project can be succeessful, but make and run will be failed;

here is the ErrorMessage. tim 20170427175926

and my gradle plugin version is 2.3.1 image

evant commented 7 years ago

Can you try running with --stacktrace?

YouZiQian commented 7 years ago

I've tried running with --stacktrace this is the log:

`C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\ui\main\fragment\OrderFragment.java:17: 错误: 程序包com.lisong.tb.databinding不存在 import com.lisong.tb.databinding.FragmentMainOrderBinding; ^ C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\ui\main\fragment\OrderFragment.java:27: 错误: 找不到符号 public class OrderFragment extends DatabindingFragment implements ViewPager.OnPageChangeListener { ^ 符号: 类 FragmentMainOrderBinding C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\ui\main\fragment\OrderItemViewModel.java:7: 错误: 程序包com.apt不存在 import com.apt.XRouter; ^ C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\ui\main\fragment\OrderListFragment.java:6: 错误: 程序包com.lisong.tb.databinding不存在 import com.lisong.tb.databinding.FragmentOrderBinding; ^ C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\ui\main\fragment\OrderListFragment.java:13: 错误: 找不到符号 public class OrderListFragment extends DatabindingFragment { ^ 符号: 类 FragmentOrderBinding C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\ui\main\fragment\OrderViewModel.java:7: 错误: 程序包com.apt不存在 import com.apt.ApiFactory; ^ C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\ui\main\fragment\OrderViewModel.java:8: 错误: 找不到符号 import com.lisong.tb.BR; ^ 符号: 类 BR 位置: 程序包 com.lisong.tb C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\ui\main\MainActivity.java:14: 错误: 程序包com.lisong.tb.databinding不存在 import com.lisong.tb.databinding.ActivityMainBinding; ^ C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\ui\main\MainActivity.java:31: 错误: 找不到符号 public class MainActivity extends BaseFragmentActivity { ^ 符号: 类 ActivityMainBinding C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\ui\main\MessageActivity.java:8: 错误: 程序包com.lisong.tb.databinding不存在 import com.lisong.tb.databinding.ActivityMessageBinding; ^ C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\ui\main\MessageActivity.java:11: 错误: 找不到符号 public class MessageActivity extends BaseActivity { ^ 符号: 类 ActivityMessageBinding C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\ui\main\MessageViewModel.java:7: 错误: 找不到符号 import com.lisong.tb.BR; ^ 符号: 类 BR 位置: 程序包 com.lisong.tb C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\ui\main\order\OrderDetailActivity.java:12: 错误: 程序包com.lisong.tb.databinding不存在 import com.lisong.tb.databinding.ActivityOrderDetailBinding; ^ C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\ui\main\order\OrderDetailActivity.java:15: 错误: 找不到符号 public class OrderDetailActivity extends BaseActivity { ^ 符号: 类 ActivityOrderDetailBinding C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\ui\personal\PersonalActivity.java:7: 错误: 程序包com.lisong.tb.databinding不存在 import com.lisong.tb.databinding.ActivityPersonalBinding; ^ C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\ui\personal\PersonalActivity.java:10: 错误: 找不到符号 public class PersonalActivity extends BaseActivity { ^ 符号: 类 ActivityPersonalBinding C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\ui\SplashActivity.java:3: 错误: 程序包com.apt不存在 import com.apt.XRouter; ^ C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\ui\SplashActivity.java:7: 错误: 程序包com.lisong.tb.databinding不存在 import com.lisong.tb.databinding.ActivitySplashBinding; ^ C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\ui\SplashActivity.java:14: 错误: 找不到符号 public class SplashActivity extends BaseActivity { ^ 符号: 类 ActivitySplashBinding C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\ui\start\LoginActivity.java:4: 错误: 程序包com.apt不存在 import com.apt.XRouter; ^ C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\ui\start\LoginActivity.java:9: 错误: 程序包com.lisong.tb.databinding不存在 import com.lisong.tb.databinding.ActivityLoginBinding; ^ C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\ui\start\LoginActivity.java:13: 错误: 找不到符号 public class LoginActivity extends BaseActivity { ^ 符号: 类 ActivityLoginBinding C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\ui\start\LoginViewModel.java:6: 错误: 程序包com.apt不存在 import com.apt.ApiFactory; ^ C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\ui\start\LoginViewModel.java:7: 错误: 程序包com.apt不存在 import com.apt.XRouter; ^ C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\ui\start\PickRoleActivity.java:7: 错误: 程序包com.lisong.tb.databinding不存在 import com.lisong.tb.databinding.ActivityPickRoleBinding; ^ C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\ui\start\PickRoleActivity.java:10: 错误: 找不到符号 public class PickRoleActivity extends BaseActivity { ^ 符号: 类 ActivityPickRoleBinding C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\ui\start\RegisterActivity.java:8: 错误: 程序包com.lisong.tb.databinding不存在 import com.lisong.tb.databinding.ActivityRegisterBinding; ^ C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\ui\start\RegisterActivity.java:11: 错误: 找不到符号 public class RegisterActivity extends BaseActivity { ^ 符号: 类 ActivityRegisterBinding C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\ui\start\RegisterViewModel.java:7: 错误: 程序包com.apt不存在 import com.apt.ApiFactory; ^ C:\AndroidProjects\TB\app\src\main\java\com\lisong\tb\util\InstanceUtil.java:4: 错误: 程序包com.apt不存在 import com.apt.InstanceFactory; ^ C:\AndroidProjects\TB\app\build\generated\source\dataBinding\debug\android\databinding\layouts\DataBindingInfo.java:5: 错误: 找不到符号 @BindingBuildInfo(buildId="fb35211b-b18c-4b5d-856f-ffc293764b42", modulePackage="com.lisong.tb", sdkRoot="C:\sdk",layoutInfoDir="C:\AndroidProjects\TB\app\build\intermediates\data-binding-info\debug",exportClassListTo="",isLibrary=false,minSdk=21,enableDebugLogs=false,printEncodedError=true) ^ 符号: 方法 modulePackage() 位置: @interface BindingBuildInfo C:\AndroidProjects\TB\app\build\generated\source\dataBinding\debug\android\databinding\layouts\DataBindingInfo.java:5: 错误: 找不到符号 @BindingBuildInfo(buildId="fb35211b-b18c-4b5d-856f-ffc293764b42", modulePackage="com.lisong.tb", sdkRoot="C:\sdk",layoutInfoDir="C:\AndroidProjects\TB\app\build\intermediates\data-binding-info\debug",exportClassListTo="",isLibrary=false,minSdk=21,enableDebugLogs=false,printEncodedError=true) ^ 符号: 方法 sdkRoot() 位置: @interface BindingBuildInfo C:\AndroidProjects\TB\app\build\generated\source\dataBinding\debug\android\databinding\layouts\DataBindingInfo.java:5: 错误: 找不到符号 @BindingBuildInfo(buildId="fb35211b-b18c-4b5d-856f-ffc293764b42", modulePackage="com.lisong.tb", sdkRoot="C:\sdk",layoutInfoDir="C:\AndroidProjects\TB\app\build\intermediates\data-binding-info\debug",exportClassListTo="",isLibrary=false,minSdk=21,enableDebugLogs=false,printEncodedError=true) ^ 符号: 方法 layoutInfoDir() 位置: @interface BindingBuildInfo C:\AndroidProjects\TB\app\build\generated\source\dataBinding\debug\android\databinding\layouts\DataBindingInfo.java:5: 错误: 找不到符号 @BindingBuildInfo(buildId="fb35211b-b18c-4b5d-856f-ffc293764b42", modulePackage="com.lisong.tb", sdkRoot="C:\sdk",layoutInfoDir="C:\AndroidProjects\TB\app\build\intermediates\data-binding-info\debug",exportClassListTo="",isLibrary=false,minSdk=21,enableDebugLogs=false,printEncodedError=true) ^ 符号: 方法 exportClassListTo() 位置: @interface BindingBuildInfo C:\AndroidProjects\TB\app\build\generated\source\dataBinding\debug\android\databinding\layouts\DataBindingInfo.java:5: 错误: 找不到符号 @BindingBuildInfo(buildId="fb35211b-b18c-4b5d-856f-ffc293764b42", modulePackage="com.lisong.tb", sdkRoot="C:\sdk",layoutInfoDir="C:\AndroidProjects\TB\app\build\intermediates\data-binding-info\debug",exportClassListTo="",isLibrary=false,minSdk=21,enableDebugLogs=false,printEncodedError=true) ^ 符号: 方法 isLibrary() 位置: @interface BindingBuildInfo C:\AndroidProjects\TB\app\build\generated\source\dataBinding\debug\android\databinding\layouts\DataBindingInfo.java:5: 错误: 找不到符号 @BindingBuildInfo(buildId="fb35211b-b18c-4b5d-856f-ffc293764b42", modulePackage="com.lisong.tb", sdkRoot="C:\sdk",layoutInfoDir="C:\AndroidProjects\TB\app\build\intermediates\data-binding-info\debug",exportClassListTo="",isLibrary=false,minSdk=21,enableDebugLogs=false,printEncodedError=true) ^ 符号: 方法 minSdk() 位置: @interface BindingBuildInfo C:\AndroidProjects\TB\app\build\generated\source\dataBinding\debug\android\databinding\layouts\DataBindingInfo.java:5: 错误: 找不到符号 @BindingBuildInfo(buildId="fb35211b-b18c-4b5d-856f-ffc293764b42", modulePackage="com.lisong.tb", sdkRoot="C:\sdk",layoutInfoDir="C:\AndroidProjects\TB\app\build\intermediates\data-binding-info\debug",exportClassListTo="",isLibrary=false,minSdk=21,enableDebugLogs=false,printEncodedError=true) ^ 符号: 方法 enableDebugLogs() 位置: @interface BindingBuildInfo C:\AndroidProjects\TB\app\build\generated\source\dataBinding\debug\android\databinding\layouts\DataBindingInfo.java:5: 错误: 找不到符号 @BindingBuildInfo(buildId="fb35211b-b18c-4b5d-856f-ffc293764b42", modulePackage="com.lisong.tb", sdkRoot="C:\sdk",layoutInfoDir="C:\AndroidProjects\TB\app\build\intermediates\data-binding-info\debug",exportClassListTo="",isLibrary=false,minSdk=21,enableDebugLogs=false,printEncodedError=true) ^ 符号: 方法 printEncodedError() 位置: @interface BindingBuildInfo 注: 正在处理: com.lisong.tb.net.api.ApiService

FAILED

FAILURE: Build failed with an exception.

BUILD FAILED

Total time: 6.186 secs`

YouZiQian commented 7 years ago

@evant

evant commented 7 years ago

Sorry for takeing a while to reply. The error implies databinding is missing the enableDebugLogs method on the BindingBuildInfo annotation. Are you sure you are on 2.3.0+?

YouZiQian commented 7 years ago

yes, I'm pretty sure the gradle plugin version is 2.3.1

YouZiQian commented 7 years ago

I tried reenable databinding and use classpath 'com.android.tools.build:gradle:2.3.0' , but doesn't work .

YouZiQian commented 7 years ago

is anyone here? @evant

sylvia43 commented 7 years ago

I'm having the same issue with databinding in general, not this library. It compiles fine without proguard but once I turn on proguard it doesn't work.

evant commented 6 years ago

Closing for lack of response, fell free to re-open if you are still having issues.

Prusinowsky commented 2 years ago

I have the same issue.