问题描述
在安装后首次启动应用时突然崩溃!但是只是第一次...在第二次打开应用程序后它可以正常工作。
suddenly a crash occurs at initial startup of app after installation! But just the first time...after second opening of app it works properly.
我没有更改firebase代码,但可能没有更改依赖项...但是最新的版本...所以通常它应该是一个稳定的版本!
I have not changes the firebase code but maybe the dependency...but to the latest version...so normally it should be a stable one!
似乎有一些与firebase相关的问题:
我的配置:
My Configurations:
Build.gradle(项目)
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)*************** ************
*****************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'
推荐答案
根据:
不再添加Android库 com.google.firebase:firebase-core 。
此SDK包括用于 Google Analytics(分析)的Firebase SDK。现在,要使用
Analytics(或需要或建议使用
的任何Firebase产品),您需要显式添加Google Analytics(分析)
依赖项:
com.google.firebase:firebase-analytics:17.2.2
所以,不需要在项目中添加 com.google.firebase:firebase-core
。 删除
这篇关于在应用启动时突然获取Firebase java.lang.IllegalAccessError的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!