Android 为什么奥托不工作?

Android 为什么奥托不工作?,android,otto,Android,Otto,我目前正在尝试将Otto安装到我的项目中。按照这里的步骤,一切都按预期进行,但是当我注册我的活动时,我没有收到回调 在我的App课程中,我有一个单身汉 private static Bus bus; public static Bus getEventBus() { if(bus == null) { bus = new Bus(ThreadEnforcer.MAIN); } return bus; } 然后在我的BaseActivity课程中,我有这

我目前正在尝试将Otto安装到我的项目中。按照这里的步骤,一切都按预期进行,但是当我注册我的活动时,我没有收到回调

在我的
App
课程中,我有一个单身汉

private static Bus bus;

public static Bus getEventBus() {
    if(bus == null) {
        bus = new Bus(ThreadEnforcer.MAIN);
    }
    return bus;
}
然后在我的
BaseActivity
课程中,我有这个

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(getContentView());
    App.getEventBus().register(BaseActivity.this);
}
这是伪代码,但实际上这些是我在这些类中仅有的方法。我还怀疑我的gradle,因此我的gradle文件如下所示

apply plugin: 'com.android.application'
安卓{ 编译DK23版 buildToolsVersion'23.0.2'

defaultConfig {
    applicationId "wallfly.io.wallfly"
    minSdkVersion 21
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
    multiDexEnabled true
}
compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}
configurations {
    all*.exclude group: 'org.apache.httpcomponents'
}
buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
packagingOptions {
    exclude 'META-INF/DEPENDENCIES'
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/LICENSE.txt'
    exclude 'META-INF/license.txt'
    exclude 'META-INF/NOTICE'
    exclude 'META-INF/NOTICE.txt'
    exclude 'META-INF/notice.txt'
    exclude 'META-INF/ASL2.0'
    }
}
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile files('libs/jackson-all-1.9.9.jar')
    compile files('libs/commons-lang3-3.4.jar')
    compile files('libs/httpclient-4.5.1.jar')
    compile files('libs/httpcore-4.3.1.jar')
    compile files('libs/httpmime-4.3.1.jar')
    compile 'com.squareup:otto:1.3.8'
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.google.android.gms:play-services:8.4.0'
}
apply plugin: 'com.google.gms.google-services'

我在工作中使用Otto,效果非常好。但是我无法在家中使用它。我迷路了,因为似乎没有其他人遇到过这个问题。任何帮助或资源都将不胜感激。

您是否配置了proguard-project.txt,以便它不会删除Otto的注释?@user2616232是的。我在中添加了proguard规则在我的proguard-project.txt文件旁边。我尝试注册同一个对象两次进行测试(这会导致崩溃)但它不会导致崩溃。这告诉我该类没有注册。提示:您不需要使用multidex。1.将JAR转换为gradle deps 2.删除multidex 3.选择您需要的deps:完整的源代码示例将帮助回答您的问题。您所说的未调用的回调在哪里?您在总线上的发布位置在哪里?