suddenly a crash occurs at initial startup of app after installation! But just the first time...after second opening of app it works properly.
I have not changes the firebase code but maybe the dependency...but to the latest version...so normally it should be a stable one!
It seems to have some problem related to firebase:
java.lang.IllegalAccessError: Illegal class access: 'com.google.firebase.messaging.zze' attempting to access 'com.google.firebase.iid.zzat' (declaration of 'com.google.firebase.messaging.zze' appears in base.apk)
My Configurations:
Build.gradle (Project)
buildscript {
ext.kotlin_version = '1.3.61'
repositories {
google()
jcenter()
maven { url 'https://plugins.gradle.org/m2/' } //for OneSignal
maven { url 'https://maven.fabric.io/public' } //for CrashLytics
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.3'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.3'
classpath 'io.fabric.tools:gradle:1.31.0' // Crashlytics plugin
classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:0.12.5' //for OneSignal
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
maven { url 'https://jitpack.io' }
maven { url 'https://maven.google.com' }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
*****************Build.gradle (Module:app)***************************
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
android {
signingConfigs {
release {
....
}
debug {
....
}
staging {
....
}
}
compileSdkVersion 29
defaultConfig {
applicationId "com.myapp"
minSdkVersion 26
targetSdkVersion 29
versionCode 43
versionName "1.0.20"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
manifestPlaceholders = [
onesignal_app_id : '....',
// Project number pulled from dashboard, local value is ignored.
onesignal_google_project_number: 'REMOTE'
]
}
buildTypes {
debug {
minifyEnabled false
debuggable true
buildConfigField "String", "BASE_URL", "\"http://....:8080\"" //http://....:8080
// buildConfigField "String", "BASE_URL", "\"http://....:8080/....\"" //http://...:8080
}
staging {
minifyEnabled false
debuggable true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
buildConfigField "String", "BASE_URL", "\"http://....:8080/....\""
signingConfig signingConfigs.staging
}
release {
minifyEnabled false
debuggable false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
buildConfigField "String", "BASE_URL", "\"http://....:8080/....\""
signingConfig signingConfigs.release
}
}
//Google introduced a new App Bundle format to split apk files in smaller sizes when they’re being installed on the client devices.
//However, this means that we cannot have dynamic language changes in our applications.
//To prevent that split for language files we need to add extra lines in our build.gradle file inside the app folder like below.
bundle {
language {
enableSplit = false //this setting is needed to enable dynamic switch of language in app.
}
}
dataBinding {
enabled true
}
}
//Date for APK File name (info: When deploying on Google Play Store, this date will be included in VersionName as suffix, e.g. 1.0_2019-07-12)
static def getDate() {
def date = new Date()
def formattedDate = date.format('YYYY-MM-dd')
return formattedDate
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'com.google.android.material:material:1.0.0' //1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.recyclerview:recyclerview:1.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
//Android Architecture Components
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
implementation 'androidx.lifecycle:lifecycle-viewmodel:2.2.0'
//OkHttp OAuth2 client
implementation 'ca.mimic:oauth2library:2.4.2'
//Anko
implementation "org.jetbrains.anko:anko:0.10.8"
//Firebase
implementation 'com.google.firebase:firebase-core:17.2.2'
implementation 'com.google.firebase:firebase-auth:19.2.0'
//Crashlytics
implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'
implementation 'androidx.cardview:cardview:1.0.0'
//Google Maps
implementation 'com.google.android.gms:play-services-maps:17.0.0'
//OneSignal
implementation 'com.onesignal:OneSignal:3.10.9'
//Picasso
implementation 'com.squareup.picasso:picasso:2.71828'
//GIF ImageView
//implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.15'
//Jackson
implementation "com.fasterxml.jackson.module:jackson-module-kotlin:2.9.8"
//Volley
implementation 'com.android.volley:volley:1.1.1'
//SegmentedButton
implementation 'com.github.ceryle:SegmentedButton:v2.0.2'
//EasyValidation
implementation "com.wajahatkarim3.easyvalidation:easyvalidation-core:1.0.1"
//QuickPermissions-Kotlin
implementation 'com.github.quickpermissions:quickpermissions-kotlin:0.4.0'
}
apply plugin: 'com.google.gms.google-services'
According official doc:
No longer add the Android library com.google.firebase:firebase-core. This SDK included the Firebase SDK for Google Analytics. Now, to use Analytics (or any of the Firebase products that require or recommend the use of Analytics), you need to explicitly add the Analytics dependency:
com.google.firebase:firebase-analytics:17.2.2
So, No need to add com.google.firebase:firebase-core
in your project. Remove it
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With