私は現在D8とともにAndroidStudio 3.1 Canary 3を使用しています。私はD8なしで試してみたし、3.1.0も試しました。一貫した問題は、ENUMを見つけることができない注釈プロセッサにMAIN_ORDEREDがエラーを投げるということです。しかし、EventBusコードをチェックすると、ENUMがそこにあります。 Android Studioでは、MAIN_ORDERED列挙型も自動的に完成します。私の活動にAndroidStudio 3.1でEventBus注釈プロセッサがThreadMode.MAIN_ORDEREDを受け付けません
は私が持っている:これは注釈プロセッサからのエラーでビルドに失敗し
@Subscribe(threadMode = ThreadMode.MAIN_ORDERED) public void fragmentDone(FragmentResult msg) {
:私はThreadMode.MAIN
を使用してに戻す場合は消える
07:28:26.857 [ERROR] [system.err] error: Unexpected error in EventBusAnnotationProcessor: java.lang.EnumConstantNotPresentException: org.greenrobot.eventbus.ThreadMode.MAIN_ORDERED
を。
私は正しいバージョンと思われるorg.greenrobot:eventbus:3.1.1
とorg.greenrobot:eventbus-annotation-processor:3.1.0
を使用してビルドしています。
20:47:37.023 [ERROR] [system.err] java.lang.EnumConstantNotPresentException: org.greenrobot.eventbus.ThreadMode.MAIN_ORDERED
20:47:37.129 [ERROR] [system.err] at sun.reflect.annotation.EnumConstantNotPresentExceptionProxy.generateException(EnumConstantNotPresentExceptionProxy.java:46)
20:47:37.130 [ERROR] [system.err] at sun.reflect.annotation.AnnotationInvocationHandler.invoke(AnnotationInvocationHandler.java:84)
20:47:37.130 [ERROR] [system.err] at com.sun.proxy.$Proxy142.threadMode(Unknown Source)
20:47:37.130 [ERROR] [system.err] at org.greenrobot.eventbus.annotationprocessor.EventBusAnnotationProcessor.writeCreateSubscriberMethods(EventBusAnnotationProcessor.java:287)
20:47:37.130 [ERROR] [system.err] at org.greenrobot.eventbus.annotationprocessor.EventBusAnnotationProcessor.writeIndexLines(EventBusAnnotationProcessor.java:373)
20:47:37.130 [ERROR] [system.err] at org.greenrobot.eventbus.annotationprocessor.EventBusAnnotationProcessor.createInfoIndexFile(EventBusAnnotationProcessor.java:333)
20:47:37.130 [ERROR] [system.err] at org.greenrobot.eventbus.annotationprocessor.EventBusAnnotationProcessor.process(EventBusAnnotationProcessor.java:106)
20:47:37.130 [ERROR] [system.err] at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:794)
20:47:37.130 [ERROR] [system.err] at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:705)
これは、生成された壊れたEventBusIndex.javaファイルになり: -
package com.company.product;
import org.greenrobot.eventbus.meta.SimpleSubscriberInfo;
import org.greenrobot.eventbus.meta.SubscriberMethodInfo;
import org.greenrobot.eventbus.meta.SubscriberInfo;
import org.greenrobot.eventbus.meta.SubscriberInfoIndex;
import org.greenrobot.eventbus.ThreadMode;
import java.util.HashMap;
import java.util.Map;
/** This class is generated by EventBus, do not edit. */
public class EventBusIndex implements SubscriberInfoIndex {
private static final Map<Class<?>, SubscriberInfo> SUBSCRIBER_INDEX;
static {
SUBSCRIBER_INDEX = new HashMap<Class<?>, SubscriberInfo>();
putIndex(new SimpleSubscriberInfo(com.company.product.activities.MainActivity.class, true,
new SubscriberMethodInfo[] {
そして再び、import org.greenrobot.eventbus.ThreadMode;
ファイルを見て、列挙型はMAIN_ORDERED
宣言を含めるように見えます。
私はアイデアをよ...
は3.0 AS今ちょうどそれを試みたが、それが正常に動作しています。 build.gradleの依存関係セクションを投稿できますか? –
私は物事を絞り込んだ。 'SDKVersion> 25'を対象とすると失敗しますので、Android O +上で注釈プロセッサが失敗します。 –
@SumitAnantwarは...ここに行く: '依存関係{ クラスパス 'com.android.tools.build:gradle:3.1.0-alpha03' クラスパス「com.google.gms:グーグルのサービス:3.0。 0 ' } –