多くのライブラリを使用するアプリケーションがあります。アプリケーションはMultiDexで正常に動作します。しかし、Firebase SDKを統合しようとすると、Androidデバイスの最初のアプリ起動時にアプリケーションをロードするのに時間がかかります< Android Lollipop。最初のアプリの起動時にAndroidアプリケーションの起動にcom.google.gms.google-servicesで起動するまでに時間がかかります
4.4.4のNexus 5では、アプリケーションが正常に再開するまで約1分間続く黒い画面が表示されます。これはMultiDexプロセスのようです。いくつかの実験の後、一度に1ステップずつFirebaseを再統合すると、問題はまず、apply plugin: 'com.google.gms.google-services'
のときに発生します。
このプラグインが非常に膨満している理由は何ですか?インスタント・ランにはコメントしないでください。私は他のスタックオーバーフローの記事を見てきましたが、Instant Runは有効になっていません。これは、自分のコンピュータ、デバッグAPK、またはリリースAPKから最初に起動するかどうかに関係なく発生します。
ありがとうございます。
build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion '23.0.3'
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
defaultConfig {
applicationId "com.example.app"
minSdkVersion 15
multiDexEnabled true
targetSdkVersion 21
versionCode 1
versionName "1"
}
dexOptions {
incremental = true
javaMaxHeapSize = "4g"
}
lintOptions {
abortOnError false
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
// Firebase - https://firebase.google.com/docs/android/setup
compile 'com.google.firebase:firebase-ads:9.4.0'
compile 'com.google.firebase:firebase-auth:9.4.0'
compile 'com.google.firebase:firebase-config:9.4.0'
compile 'com.google.firebase:firebase-core:9.4.0'
compile 'com.google.firebase:firebase-crash:9.4.0'
compile 'com.google.firebase:firebase-database:9.4.0'
compile 'com.google.firebase:firebase-invites:9.4.0'
compile 'com.google.firebase:firebase-messaging:9.4.0'
compile 'com.google.firebase:firebase-storage:9.4.0'
// Google Play Services - https://developer.android.com/google/play-services/setup.html
compile 'com.google.android.gms:play-services:9.4.0'
// SDKs
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:multidex:1.0.1'
compile 'com.android.support:recyclerview-v7:23.4.0'
compile 'com.android.support:support-v13:23.4.0'
}
apply plugin: 'com.google.gms.google-services'
あなたの問題は、主に複数のdexedアプリに起因すると思います。なぜあなたは 'com.google.android.gms:play-services:9.4.0'プレイサービスのジェネリックバージョンを使用していますか?あなたは 'com.google.android.gms:play-services-gcm:9.4.0'のようなより特定のライブラリを追加できますか? –
残念ながらGoogle Playサービスを削除しても、Googleのアプリケーションには引き続きMultiDexが必要です。 – lgdroid57