草庐IT

dagger-compiler

全部标签

Android studio gradle重复文件 Dagger 编译器

在使用dagger编译器将androidstudio更新到0.4.0并将gradle插件更新到0.7.1并将gradle版本更新到1.9后出现奇怪的问题构建.gradleandroid{packagingOptions{exclude'META-INF/DEPENDENCIES.txt'exclude'META-INF/LICENSE.txt'exclude'META-INF/NOTICE.txt'}}dependencies{compile'com.android.support:support-v4:+'compile'com.android.support:support-v13

android - 为 : "Minimum Required SDK" , "Target SDK"& "Compile with"设置什么值

我知道这方面有很多问题,我也看了这个page.但是,我仍然对确切的选择感到困惑。如果我的手机运行Android2.3.6我知道MinimumRequiredSDK应该是我的应用支持的最低Android版本。因此,例如,我将选择Android2.2或小于该值,比如Android1.5容易混淆的部分TargetSDK和Compilewith我已经在下面安装了这些:(SDK管理器中没有可用的Android2.3.6)安卓4.2.2(API17)安卓3.0(API11)安卓2.3.3(API10)安卓2.2(API8)是不是TargetSDK要设置到最大值,也就是Android4.2.2,不管

android - Dagger 2 构建 IllegalArgumentException compileDebugJavaWithJavac

我一直在测试Dagger2,一切正常,直到我做了一些重构。现在gradle抛出一个IllegalArgumentException,我无法弄清楚我所做的更改现在导致了错误。我没有对gradle文件进行任何更改,这似乎是堆栈跟踪的首当其冲:org.gradle.api.tasks.TaskExecutionException:Executionfailedfortask':mobile:compileDebugJavaWithJavac'.atorg.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execut

android - Dagger 2 : What does @Module(includes =) do?

我正在做一个项目,我正在努力让它尽可能模块化。我正在尝试使用@Module(includes={})注释来实现我的目标,但效果不是很好。我的所有Java代码都有一个gradle模块,其中每个部分都有一个模块(例如,AboutModule用于About页面依赖项)。然后,对于整个“核心”gradle模块,我有一个名为“CoreModule”的Dagger2模块,如下所示:@Module(includes={AddonModule.class,VersionModule.class,AboutModule.class})publicclassCoreModule{}我的想法是否正确,在所有

android - Dagger2 - null 而不是注入(inject)的对象

为了简单起见,假设我想将Apache验证器中的EmailValidator注入(inject)到我的Activity中:publicclassMainActivityextendsFragmentActivity{@InjectEmailValidatoremailValidator;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}我有一个MainModule类:@Modu

android - 如何使用 Dagger 注入(inject)静态类?

我想通过Dagger引入依赖注入(inject)到一个项目。下面的代码作为例子来描述注入(inject)静态类的问题。静态方法setupTextView()被多个类调用:publicabstractclassTextViewHelper{publicstaticvoidsetupTextView(TextViewtextView,Spannedtext,TrackingPointtrackingPoint){textView.setText(text,TextView.BufferType.SPANNABLE);textView.setMovementMethod(LinkMoveme

android - Dagger @ContributesAndroidInjector ComponentProcessor 无法处理这个接口(interface)

我正在测试dagger的新功能:Android模块。当我使用@ContributesAndroidInjector时,我无法编译代码我总是收到以下错误:错误:(12,8)错误:dagger.internal.codegen.ComponentProcessor无法处理此接口(interface),因为它的所有依赖项都无法解析。检查编译错误或生成代码的循环依赖。我尝试实现我的组件,例如here,但我仍然收到错误。这是最小的例子:@PerApplication@Component(modules={AndroidInjectionModule.class,LoginBindingModul

android - Dagger 2 : Unable to inject singleton in other scope

我有Singleton作用域模块,它提供一些标准的单例:应用程序、数据库服务等。但是对于Activity,我有单独的模块应该为他的Activity创建Presenter,我需要将Application上下文传递给它。但是在尝试编译项目时出现以下错误:Error:(13,1)error:xxx.SplashComponentscopedwith@xxx.ViewScopemaynotreferencebindingswithdifferentscopes:@Provides@Singletonxxx.ApplicationModule.provideAppContext()这是我的应用程

android - Dagger 2 : How to use @Provides and @Binds in same module

我正在使用新的Dagger2(2.11版),并且正在使用新功能,例如AndroidInjector和ContributesAndroidInjector。我有一个Activity子组件,@ModuleabstractclassActivityBuilderModule{@ContributesAndroidInjector(modules={UserListModule.class,MainFragmentModule.class})@ActivityScopeabstractMainActivitybindsMainActivity();}@Modulepublicabstractc

android - Dagger2 错误 : Module Must Be Set

我试图在Dagger2中进行子范围划分。但是,我无法找出此编译错误:->...MyApplicationModulemustbeset这发生在我的LogInFragment中。如果有人会尝试阐明此错误。我真的很高兴。这是我的应用程序类:publicclassMyApplicationextendsApplication{@OverridepublicvoidonCreate(){super.onCreate();MyInjector.initialize(this);}}这是MyInjector类:publicenumMyInjector{INSTANCE;MyApplicationC