草庐IT

dagger-compiler

全部标签

android - 使用 Dagger 2(Robolectric 和 Mockito)进行单元测试

我正在尝试为具有用@Inject注释的字段的fragment编写一些测试。例如,我的应用程序的一部分如下所示:模块:@ModulepublicclassPdfFactoryModule{@Provides@SingletonPdfFactoryprovidePdfFactory(){returnPdfFactory.getPdfFactory();}}组件:@Singleton@Component(modules=PdfFactoryModule.class)publicinterfaceCorePdfComponent{voidinject(PagerFragmentpagerFra

android - Dagger 2.11 - 组件中存在具有匹配键的绑定(bind)

我有一个小场景,我有以下结构,我试图在baseActivityFragment中注入(inject)fragment管理器,但由于某种原因我运气不佳:(@Singleton@Component(modules={AppModule.class,ActivityModule.class,AndroidSupportInjectionModule.class})publicinterfaceAppComponentextendsAndroidInjector{@Overridevoidinject(Appapplication);@Component.BuilderinterfaceBui

新手小白安装 PyTorch库(简单详细的流程) 代码报错 Torch not compiled with CUDA enabled

         本文主要主要针对GPU版本的PyTorch库的安装,以及安装过程中可能出现的问题,安装完成后运行程序出现“TorchnotcompiledwithCUDAenabled”的错误,输入torch.cuda.is_available()显示false的错误,如果你也出现了这样的困惑,那就可以接着往下看了。前 言—基础知识简介        常用的Python代码编辑器包括JupyterNotebook、PyCharm、VisualStudioCode。类似的,C的代码编辑器包括VisualC++、DevC++、VisualStudioCode。        Anaconda是一

android - Gradle 安卓插件 : Hook into post-compile task for all product flavors

我需要执行我自己的代码(通过javaexec),在我的android项目被gradle编译之后但在它被打包到apk之前(事实上,在资源被移动到它们的最终目的地之前)。所以我用了:gradlewtasks--all获取可用任务列表。我使用的是产品口味,所以几乎所有任务的名称都介于两者之间,例如:assembleFlavorA或installFlavorB等...我现在能做的是在编译开始之前通过挂接到preBuild任务来执行我自己的任务:preBuild上面的代码会为每个构建变体调用,这正是我想要的。但是,当我尝试对组装任务或构建任务进行相同操作时:assemble无论我正在构建哪种产品

android - Dagger 2 如何让 Android 上的测试更容易?

使用DI的最大优势之一是它使测试变得容易得多(Whatisdependencyinjection?也支持它)。我在其他编程语言上使用过的大多数DI框架(.NET上的MEF,Obj-C/Swift上的Typhoon,Laravel的PHP和其他一些平台上的IoC容器)允许开发人员在每个组件的单个入口点上注册依赖项,从而防止“创建”对对象本身的依赖项。读完Dagger2文档,整个“无反射”业务听起来很棒,但我看不出它如何使测试更容易,因为对象仍然在某种程度上创建它们自己的依赖项。例如,在CoffeMaker示例中:publicclassCoffeeApp{publicstaticvoidm

android - 如何在运行时将参数从 Activity 或 Fragment 传递到 Dagger 模块

我的软件规范如下:AndroidStudio3.4dagger-android2.16我有以下传递MapboxGeocoder的类,它将执行并返回响应。classGeocodingImp(privatevalmapboxGeocoder:MapboxGeocoder):Geocoding{overridefungetCoordinates(address:String,criteria:String):AddressCoordinate{valresponse=mapboxGeocoder.execute()returnif(response.isSuccess&&!response.

flutter报错记录:java.lang.IllegalAccessError: class org.gradle.internal.compiler.java.ClassNameCollector

在一天新电脑上运行flutter项目时,项目一直跑不起来详细的报错内容:java.lang.illegalaccesserror:classorg.gradle.internal.compiler.java.classnamecollector(inunnamedmodule@0x64a0fd80)cannotaccessclasscom.sun.tools.javac.code.symbol$typesymbol(inmodulejdk.compiler)becausemodulejdk.compilerdoesnotexportcom.sun.tools.javac.codetounnam

android - 必须设置 Dagger ApplicationComponent

我需要从ApplicationModule公开我的OkHttpClient,所以我添加到ApplicationComponent。像这样:@ModulepublicclassApplicationModule{@Provides@SingletonpublicOkHttpClientprovideOkHttpClient(){finalOkHttpClient.Builderclient=newOkHttpClient.Builder();returnclient.build();}@Singleton@Component(modules={ApplicationModule.clas

android - Dagger 2 错误子组件可能未引用作用域绑定(bind)

我在我的应用程序中使用Dagger2来提供依赖项。我在构建我的应用程序时遇到以下错误。e:/Users/sriramr/Desktop/android/Movie/MovieInfo/app/build/generated/source/kapt/debug/in/sriram/movieinfo/di/ActivityBuilder_BindMoviesListActivity.java:22:error:in.sriram.movieinfo.di.ActivityBuilder_BindMoviesListActivity.MoviesListActivitySubcompone

android - Dagger 不能创建对象图,尽管它可以生成点文件

我在现有应用程序中努力设置Dagger(1.0.1)。它被配置为使用ProGuard,但我使用-dontobfuscate将其禁用以进行此测试。当我启用dagger-compiler时,它能够成功生成带有依赖关系图的点文件,但是当我删除编译器并在Release模式下构建应用程序时,它会在启动期间崩溃,并提示它无法创建对象图。java.lang.RuntimeException:UnabletostartactivityComponentInfo{com.corp.myapp/com.corp.myapp.ui.activity.MainActivity}:java.lang.Illeg