dagger 2.20 支持 androidx 包结构
dagger 2.20 support for androidx package structure
dagger 2.20 是否使用 androidx 包结构?我正在使用科特林。我在构建过程中收到以下错误。
[kapt] An exception occurred: java.util.NoSuchElementException
at com.sun.tools.javac.util.List.next(List.java:432)
at com.google.common.collect.Iterators.getOnlyElement(Iterators.java:302)
at com.google.common.collect.Iterables.getOnlyElement(Iterables.java:254)
at dagger.android.processor.AndroidMapKeys.mapKeyValue(AndroidMapKeys.java:75)
at dagger.android.processor.AndroidMapKeys.lambda$annotationsAndFrameworkTypes(AndroidMapKeys.java:56)
at java.util.stream.Collectors.lambda$toMap(Collectors.java:1321)
at java.util.stream.ReduceOpsReducingSink.accept(ReduceOps.java:169)
at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:419)
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
at java.util.stream.ReferencePipeline.accept(ReferencePipeline.java:270)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1376)
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
at dagger.android.processor.AndroidMapKeys.annotationsAndFrameworkTypes(AndroidMapKeys.java:56)
at dagger.android.processor.AndroidMapKeyValidator.annotations(AndroidMapKeyValidator.java:65)
at
将jetifier-processor
添加到您的项目级依赖项中,如下所示:
dependencies {
// ...
classpath 'com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta02'
}
这个问题在 dagger 2.21 版本中已经完全解决
dagger 2.20 是否使用 androidx 包结构?我正在使用科特林。我在构建过程中收到以下错误。
[kapt] An exception occurred: java.util.NoSuchElementException
at com.sun.tools.javac.util.List.next(List.java:432)
at com.google.common.collect.Iterators.getOnlyElement(Iterators.java:302)
at com.google.common.collect.Iterables.getOnlyElement(Iterables.java:254)
at dagger.android.processor.AndroidMapKeys.mapKeyValue(AndroidMapKeys.java:75)
at dagger.android.processor.AndroidMapKeys.lambda$annotationsAndFrameworkTypes(AndroidMapKeys.java:56)
at java.util.stream.Collectors.lambda$toMap(Collectors.java:1321)
at java.util.stream.ReduceOpsReducingSink.accept(ReduceOps.java:169)
at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:419)
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
at java.util.stream.ReferencePipeline.accept(ReferencePipeline.java:270)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1376)
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
at dagger.android.processor.AndroidMapKeys.annotationsAndFrameworkTypes(AndroidMapKeys.java:56)
at dagger.android.processor.AndroidMapKeyValidator.annotations(AndroidMapKeyValidator.java:65)
at
将jetifier-processor
添加到您的项目级依赖项中,如下所示:
dependencies {
// ...
classpath 'com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta02'
}
这个问题在 dagger 2.21 版本中已经完全解决