在应用启动时遇到此错误。
致命异常:java.lang.NoClassDefFoundError: com.google.android.gms.internal.firebase-perf.zzw com.google.firebase.perf.metrics.Trace.start(未知来源) 在com.google.android.gms.internal.firebase-perf.zze.onActivityStarted(未知 资源) 在android.app.Application.dispatchActivityStarted(Application.java:205) 在android.app.Activity.onStart(Activity.java:1156) 在android.support.v4.app.FragmentActivity.onStart(未知来源) 在android.support.v7.app.AppCompatActivity.onStart(未知来源) 在android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1268) 在android.app.Activity.performStart(Activity.java:6333) 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2542) 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2671) 在android.app.ActivityThread.-wrap11(ActivityThread.java) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1501) 在android.os.Handler.dispatchMessage(Handler.java:111) 在android.os.Looper.loop(Looper.java:207) 在android.app.ActivityThread.main(ActivityThread.java:5774) 在java.lang.reflect.Method.invoke(Method.java) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:791) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:681)
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
maven {
url 'https://maven.fabric.io/public'
}
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.4'
classpath 'com.google.gms:google-services:3.2.0'
classpath 'com.google.firebase:firebase-plugins:1.1.5'
classpath 'io.fabric.tools:gradle:1.24.4'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
maven {
url "https://maven.google.com"
}
}
}
allprojects {
repositories {
maven { url "https://jitpack.io" }
google()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
//
apply plugin: 'com.android.application'
apply plugin: 'com.google.firebase.firebase-crash'
apply plugin: 'io.fabric'
// Create a variable called keystorePropertiesFile, and initialize it to your
// keystore.properties file, in the rootProject folder.
def keystorePropertiesFile = rootProject.file("keystore.properties")
// Initialize a new Properties() object called keystoreProperties.
def keystoreProperties = new Properties()
// Load your keystore.properties file into the keystoreProperties object.
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
android {
compileSdkVersion 27
buildToolsVersion "27.0.3"
defaultConfig {
applicationId "com.abc.xyz"
minSdkVersion 16
targetSdkVersion 27
versionCode 18
versionName "1.9"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
}
//Signing configurations for build variants "release"
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:27.1.1'
compile 'com.android.support.constraint:constraint-layout:1.1.2'
compile 'com.android.support:design:27.1.1'
compile 'com.android.support:support-v4:27.1.1'
compile 'com.android.support:cardview-v7:27.1.1'
compile 'de.hdodenhof:circleimageview:2.2.0'
compile 'com.squareup.retrofit2:retrofit:2.3.0'
compile 'com.squareup.retrofit2:converter-gson:2.3.0'
compile 'com.squareup.okhttp3:okhttp-urlconnection:3.4.1'
compile 'com.squareup.okhttp3:logging-interceptor:3.5.0'
compile 'com.android.support:support-vector-drawable:27.1.1'
compile 'com.google.firebase:firebase-crash:16.0.1'
compile 'com.google.firebase:firebase-messaging:17.3.0'
compile 'com.google.firebase:firebase-config:16.0.0'
compile 'com.google.android.gms:play-services-location:15.0.1'
compile 'com.google.android.gms:play-services-maps:15.0.1'
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.google.firebase:firebase-auth:16.0.3'
compile 'com.google.android.gms:play-services-auth:16.0.0'
compile 'com.google.firebase:firebase-core:16.0.1'
compile 'com.google.firebase:firebase-perf:16.1.0'
compile 'com.google.android.gms:play-services-places:15.0.1'
compile('com.crashlytics.sdk.android:crashlytics:2.7.1@aar') {
transitive = true
}
testCompile 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.firebase-perf'
答案 0 :(得分:5)
Firebase崩溃版本和 firebase-perf版本必须小于或等于 Firebase-core版本,因此在您的代码中将 Firebase-crash:16.0.1版本更改为Firebase-crash:16.0.0 ,将 firebase-perf:16.1.0版本更改为firebase-perf:16.0.0 您的Firebase核心版本为16.0.1
compile 'com.google.firebase:firebase-perf:16.0.0'
compile 'com.google.firebase:firebase-crash:16.0.0'
答案 1 :(得分:4)
我遇到了同样的问题,尽管Siva Kumar的解决方案可行,但对我也有用的是在您的项目 build.gradle 中使用最新的google-services库:
dependencies {
classpath 'com.google.gms:google-services:4.1.0'
}
答案 2 :(得分:1)
对我来说,其他解决方案均无效。非常令人沮丧的是,该应用程序甚至没有启动。 最后,我删除了性能监控:
//apply plugin: 'com.google.firebase.firebase-perf'
//implementation 'com.google.firebase:firebase-perf:16.1.2'
答案 3 :(得分:0)
我的问题分两个步骤解决:
将build.gradle(项目)上的google-services库更新为最新版本。您还可以使用android studio的警告提示来指导您。
dependencies {
classpath 'com.google.gms:google-services:4.3.0' // this is the latest as at July, 2019
}
此后一切都应该正常工作。
我希望这会有所帮助。快活的编码!
答案 4 :(得分:-3)
根据Firebase上的先决条件文档-有关android的性能监控文档:
开始之前,您需要在环境中进行一些设置:
A device running Android 4.0 (Ice Cream Sandwich) or newer, and Google Play services 16.1.0 or higher The Google Play services SDK from the Google Repository, available in the Android SDK Manager The latest version of Android Studio, version 2.2 or higher
此链接详细说明了设置。
Firebase Performance Monitoring Guide
此外,亚历克斯(Alex)提到了通过升级gradle中提到的依赖项来在构建周期中引入最新google服务的方式
classpath 'com.google.gms:google-services:4.1.0'