我注意到错误监控工具中出现了一堆错误,与FirebaseInstanceIdService连接:
java.lang.IllegalArgumentException:注册过多的广播接收器 1在android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1838) 2在android.app.ContextImpl.registerReceiver(ContextImpl.java:1794) 3在android.app.ContextImpl.registerReceiver(ContextImpl.java:1788) 4在android.content.ContextWrapper.registerReceiver(ContextWrapper.java:489) 5在com.google.firebase.iid.FirebaseInstanceIdService.boolean zzag(android.content.Intent)(未知来源) 6
在运行Android 5.1的HUAWEI RIO-L01设备上发生,并且:
发生在运行Android 5.1.1的三星SM-G800F上。有谁知道发生了什么事?ava.lang.SecurityException:!@Too许多警报(500)从pid 25905 uid 10022注册 1在android.os.Parcel.readException(Parcel.java:1546) 2在android.os.Parcel.readException(Parcel.java:1499) 3在android.app.IAlarmManager $ Stub $ Proxy.set(IAlarmManager.java:206) 4在android.app.AlarmManager.setImpl(AlarmManager.java:428) 5在android.app.AlarmManager.set(AlarmManager.java:215) 6在com.google.firebase.iid.FirebaseInstanceIdService.void zzah(android.content.Intent)(未知来源)
我怀疑这可能是由手机供应商代码引起的,而不是Firebase造成的,但它仍然会让我的崩溃率统计数据混乱,所以如果可能的话,我想解决它。
错误从最近的应用程序发布开始,但它与之相关的FCM代码比这更早,这就是为什么我希望它是可以避免的。我不确定这种变化是什么促成了它,没有任何与FCM直接相关的东西我可以孤立。
我正在使用Firebase 9.6.1,构建工具24.0.2,targetSdk 19,minSdk 14。
这是app gradle文件(编辑以删除测试,变体,不相关的构建类型):
apply plugin: 'com.android.application'
apply plugin: 'com.getkeepsafe.dexcount'
android {
compileSdkVersion 24
buildToolsVersion '24.0.2'
dataBinding {
enabled = true
}
defaultConfig {
applicationId 'hr.doesnt.matter'
minSdkVersion 14
targetSdkVersion 19
versionName '1.3.5.4'
versionCode 13540
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-android.pro'
signingConfig signingConfigs.release
}
dexOptions {
preDexLibraries true
javaMaxHeapSize "6g" // Use gig increments depending on needs
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
// - SUPPORT LIBS
compile 'com.android.support:appcompat-v7:24.2.1'
compile 'com.android.support:recyclerview-v7:24.2.1'
compile 'com.android.support:design:24.2.1'
compile 'com.android.support:multidex:1.0.1'
compile 'com.android.support:percent:24.2.1'
// - GOOGLE SERVICES
compile 'com.google.android.gms:play-services-base:9.6.1'
compile 'com.google.android.gms:play-services-analytics:9.6.1'
compile 'com.google.firebase:firebase-messaging:9.6.1'
compile 'com.google.firebase:firebase-config:9.6.1'
// - FONTS
compile 'uk.co.chrisjenx:calligraphy:2.2.0'
// - TOOLS
compile 'com.fasterxml.jackson.core:jackson-databind:2.5.2'
compile 'com.fasterxml.jackson.core:jackson-core:2.5.2'
compile 'com.koushikdutta.async:androidasync:2.1.7'
compile 'com.splunk.mint:mint:5.0.0'
compile 'nf.fr.eraasoft:objectpool:1.1.2'
compile 'com.google.android.exoplayer:exoplayer:r1.5.2'
// - RX
compile 'io.reactivex:rxandroid:1.1.0'
compile 'com.trello:rxlifecycle:0.5.0'
compile 'com.trello:rxlifecycle-components:0.5.0'
}
configurations.all {
resolutionStrategy {
force "com.android.support:support-annotations:24.2.1"
force "com.android.support:support-v4:24.2.1"
}
}
apply plugin: 'com.google.gms.google-services'
这是项目gradle文件:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0'
classpath 'com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.5.0'
classpath 'com.google.gms:google-services:3.0.0'
}
}
allprojects {
repositories {
jcenter()
maven { url "https://mint.splunk.com/gradle/" }
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}
}
答案 0 :(得分:0)
来自firebase的所有库都需要 app.gradle 中的此依赖项:
'com.google.firebase:firebase-core:9.6.1'
添加这个并告诉我你是否有任何错误,问候!
答案 1 :(得分:0)
似乎后续的库发布(至少Firebase 9.8.0)已经解决了这种情况,因为我不再发现它了。真正的原因仍然是一个谜。 :)