这里的错误:
C:\Users\Kai\AndroIDStudioProjects\WearCompass\mobile\src\main\java\com\comparilla\wearcompass\ui\navigation\InfoPanelFragment.java:12: error: package com.comparilla.wearcompass.databinding does not existimport com.comparilla.wearcompass.databinding.FragmentInfoPanelBinding; ^C:\Users\Kai\AndroIDStudioProjects\WearCompass\mobile\src\main\java\com\comparilla\wearcompass\ui\navigation\InfoPanelviewmodel.java:8: error: cannot find symbolimport com.comparilla.wearcompass.BR; ^ symbol: class BR location: package com.comparilla.wearcompassC:\Users\Kai\AndroIDStudioProjects\WearCompass\mobile\src\main\java\com\comparilla\wearcompass\MobileApplication.java:7: error: cannot find symbolimport com.comparilla.wearcompass.di.components.DaggerMobileApplicationComponent; ^ symbol: class DaggerMobileApplicationComponent location: package com.comparilla.wearcompass.di.componentsC:\Users\Kai\AndroIDStudioProjects\WearCompass\mobile\src\main\java\com\comparilla\wearcompass\di\components\MobileActivityComponent.java:15: error: com.comparilla.wearcompass.common.services.headingService cannot be provIDed without an @Inject constructor or from an @ProvIDes-annotated method. voID inject(InfoPanelFragment fragment); ^ com.comparilla.wearcompass.common.services.headingService is injected at com.comparilla.wearcompass.di.modules.ActivityModule.provIDeInfoPanelviewmodel(headingService,…) com.comparilla.wearcompass.ui.navigation.InfoPanelviewmodel is injected at com.comparilla.wearcompass.ui.navigation.InfoPanelFragment.mviewmodel com.comparilla.wearcompass.ui.navigation.InfoPanelFragment is injected at com.comparilla.wearcompass.di.components.MobileActivityComponent.inject(fragment)4 errors FailedFAILURE: Build Failed with an exception.* What went wrong:Execution Failed for task ':mobile:compileDeBUGJavaWithJavac'.> Compilation Failed; see the compiler error output for details.* Try:Run with --stacktrace option to get the stack trace. Run with --info or --deBUG option to get more log output.BUILD Failed
我的项目build.gradle:
// top-level build file where you can add configuration options common to all sub-projects/modules.buildscript { repositorIEs { jcenter() } dependencIEs { classpath 'com.androID.tools.build:gradle:2.1.2' classpath 'com.neenbedankt.gradle.plugins:androID-apt:1.8' // NOTE: Do not place your application dependencIEs here; they belong // in the indivIDual module build.gradle files }}allprojects { repositorIEs { jcenter() }}task clean(type: Delete) { delete rootProject.buildDir}
应用程序build.gradle:
apply plugin: 'com.androID.application'apply plugin: 'com.neenbedankt.androID-apt'androID { compileSdkVersion 24 buildToolsversion "23.0.3" dataBinding { enabled = true } defaultConfig { applicationID "com.comparilla.wearcompass" minSdkVersion 21 targetSdkVersion 24 versionCode 1 versionname "1.0" } buildTypes { release { MinifyEnabled false proguardfiles getDefaultProguardfile('proguard-androID.txt'),'proguard-rules.pro' } }}dependencIEs { compile filetree(include: ['*.jar'],dir: 'libs') wearapp project(':wear') testCompile 'junit:junit:4.12' // to enable BuildConfig.DEBUG in the common library // see https://stackoverflow.com/a/29163361/166229 releaseCompile project(path: ':common',configuration: 'release') deBUGCompile project(path: ':common',configuration: 'deBUG') compile 'com.androID.support:appcompat-v7:24.0.0' compile 'com.Google.androID.gms:play-services-maps:9.0.2' compile 'com.androID.support:design:24.0.0' compile 'com.androID.support:preference-v14:24.0.0' compile 'com.Google.dagger:dagger:2.5' apt 'com.Google.dagger:dagger-compiler:2.5' provIDed 'javax.annotation:Jsr250-API:1.0'}
我也尝试在apt’com.Google.dagger:dagger-compiler:2.5’中提供而不是apt,但没有成功.同时注释掉apply plugin:’com.neenbedankt.androID-apt’没有帮助(就像提供的资源中所建议的那样).
解决方法 我确实在同一个项目中配置了Dagger 2和DataBinding,它没有任何问题.您在Dagger 2配置中确实有错误.您尝试注入的headingService无法创建,因为您没有为它提供@ProvIDes注释,并且该类在构造函数上没有@Inject注释.
总结以上是内存溢出为你收集整理的Dagger 2与Android数据绑定冲突全部内容,希望文章能够帮你解决Dagger 2与Android数据绑定冲突所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)