Android 匕首没有建造
Android Dagger not building
我已经将 Dagger 添加到我的应用程序中。现在我在更新 Android studio 和项目更新到最新的 AndroidX 版本后遇到以下错误。
error: [RefersToDaggerCodegen] Don't refer to Dagger's internal or generated code
(see https://errorprone.info/bugpattern/RefersToDaggerCodegen)
如何解决这个构建错误。
编辑:
我正在尝试像下面那样注入匕首
((App) appContext).getApplicationComponent().inject(this);
以及界面内部
@SuppressWarnings({"RefersToDaggerCodegen"})
@Singleton
@Component(modules = {
ApplicationModule.class,
DatabaseModule.class,
NetworkModule.class,
QuranDataModule.class,
QuranPageModule.class } )
public interface ApplicationComponent {
@SuppressWarnings("RefersToDaggerCodegen")
void inject(QuranDataProvider quranDataProvider);
编辑 2
我已经像下面这样初始化了组件:
@SuppressWarnings("RefersToDaggerCodegen")
protected ApplicationComponent initializeInjector() {
return DaggerApplicationComponent.builder()
.applicationModule(new ApplicationModule(this))
.build();
}
仍然面临同样的问题。
我的项目的问题是我使用的 Dagger 旧版本不太旧但不是最新的。所以我更新了kotlin版本和Dagger版本如下
kotlinVersion = '1.3.31'
daggerVersion = '2.15'
并在您的 gradle-wrapper.properties 中更新分布 url 如下
distributionUrl=https\://services.gradle.org/distributions/gradle-5.2-all.zip
最后也更新容易出错的版本
classpath "net.ltgt.gradle:gradle-errorprone-plugin:0.8"
我已经完成了以上所有步骤。现在我可以成功构建我的应用程序了。
感谢@EpicPandaForce 的帮助
我已经将 Dagger 添加到我的应用程序中。现在我在更新 Android studio 和项目更新到最新的 AndroidX 版本后遇到以下错误。
error: [RefersToDaggerCodegen] Don't refer to Dagger's internal or generated code
(see https://errorprone.info/bugpattern/RefersToDaggerCodegen)
如何解决这个构建错误。
编辑: 我正在尝试像下面那样注入匕首
((App) appContext).getApplicationComponent().inject(this);
以及界面内部
@SuppressWarnings({"RefersToDaggerCodegen"})
@Singleton
@Component(modules = {
ApplicationModule.class,
DatabaseModule.class,
NetworkModule.class,
QuranDataModule.class,
QuranPageModule.class } )
public interface ApplicationComponent {
@SuppressWarnings("RefersToDaggerCodegen")
void inject(QuranDataProvider quranDataProvider);
编辑 2 我已经像下面这样初始化了组件:
@SuppressWarnings("RefersToDaggerCodegen")
protected ApplicationComponent initializeInjector() {
return DaggerApplicationComponent.builder()
.applicationModule(new ApplicationModule(this))
.build();
}
仍然面临同样的问题。
我的项目的问题是我使用的 Dagger 旧版本不太旧但不是最新的。所以我更新了kotlin版本和Dagger版本如下
kotlinVersion = '1.3.31'
daggerVersion = '2.15'
并在您的 gradle-wrapper.properties 中更新分布 url 如下
distributionUrl=https\://services.gradle.org/distributions/gradle-5.2-all.zip
最后也更新容易出错的版本
classpath "net.ltgt.gradle:gradle-errorprone-plugin:0.8"
我已经完成了以上所有步骤。现在我可以成功构建我的应用程序了。
感谢@EpicPandaForce 的帮助