Android 为什么奥托不工作?
我目前正在尝试将Otto安装到我的项目中。按照这里的步骤,一切都按预期进行,但是当我注册我的活动时,我没有收到回调 在我的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课程中,我有这
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:完整的源代码示例将帮助回答您的问题。您所说的未调用的回调在哪里?您在总线上的发布位置在哪里?