Moh*_*nes 3 android proguard firebase google-play-services firebase-performance
minifyEnabled true仅当我怀疑问题与 proguard 或 R8 有关时才会出现此错误”
错误
\n\n2019-08-22 18:26:05.320 8403-8403/com.xxxx.xxxx\nE/AndroidRuntime: FATAL EXCEPTION: main\n Process: com.easyschool.easyschoolwebsite, PID: 8403\n java.lang.ExceptionInInitializerError\n at com.google.firebase.perf.provider.FirebasePerfProvider.<init>(com.google.firebase:firebase-perf@@19.0.0:2)\n at java.lang.Class.newInstance(Native Method)\n at android.app.AppComponentFactory.instantiateProvider(AppComponentFactory.java:121)\n at androidx.core.app.CoreComponentFactory.instantiateProvider(CoreComponentFactory.java:60)\n at android.app.ActivityThread.installProvider(ActivityThread.java:6405)\n at android.app.ActivityThread.installContentProviders(ActivityThread.java:5963)\n at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5869)\n at android.app.ActivityThread.access$1100(ActivityThread.java:200)\n at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1653)\n at android.os.Handler.dispatchMessage(Handler.java:106)\n at android.os.Looper.loop(Looper.java:193)\n at android.app.ActivityThread.main(ActivityThread.java:6694)\n at java.lang.reflect.Method.invoke(Native Method)\n at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)\n at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)\n Caused by: java.lang.RuntimeException: Shaking error: Missing method in com.google.android.gms.internal.firebase-perf.zza: void <clinit>()\n at com.google.android.gms.internal.firebase-perf.zza.<clinit>(Unknown Source:9)\n at com.google.firebase.perf.provider.FirebasePerfProvider.<init>(com.google.firebase:firebase-perf@@19.0.0:2)\xc2\xa0\n at java.lang.Class.newInstance(Native Method)\xc2\xa0\n at android.app.AppComponentFactory.instantiateProvider(AppComponentFactory.java:121)\xc2\xa0\n at androidx.core.app.CoreComponentFactory.instantiateProvider(CoreComponentFactory.java:60)\xc2\xa0\n at android.app.ActivityThread.installProvider(ActivityThread.java:6405)\xc2\xa0\n at android.app.ActivityThread.installContentProviders(ActivityThread.java:5963)\xc2\xa0\n at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5869)\xc2\xa0\n at android.app.ActivityThread.access$1100(ActivityThread.java:200)\xc2\xa0\n at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1653)\xc2\xa0\n at android.os.Handler.dispatchMessage(Handler.java:106)\xc2\xa0\n at android.os.Looper.loop(Looper.java:193)\xc2\xa0\n at android.app.ActivityThread.main(ActivityThread.java:6694)\xc2\xa0\n at java.lang.reflect.Method.invoke(Native Method)\xc2\xa0\n at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)\xc2\xa0\n at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)\xc2\xa0\nRun Code Online (Sandbox Code Playgroud)\n\n梯度
\n\napply plugin: \'com.android.application\'\napply plugin: \'com.google.gms.google-services\'\napply plugin: \'com.google.firebase.firebase-perf\'\napply plugin: \'io.fabric\'\n\nandroid {\n signingConfigs {\n release {\n storeFile file(\'xxxxxx/Keygen.jks\')\n storePassword \'xxxxxxx\'\n keyAlias = \'myandroidkey\'\n keyPassword \'xxxxxxxxx\'\n }\n }\n compileSdkVersion 28\n defaultConfig {\n applicationId "com.easyschool.easyschoolwebsite"\n minSdkVersion 21\n targetSdkVersion 28\n versionCode 46\n versionName "32.8.5"\n testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"\n vectorDrawables.useSupportLibrary = true\n\n manifestPlaceholders = [\n onesignal_app_id : \'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\',\n // Project number pulled from dashboard, local value is ignored.\n onesignal_google_project_number: \'REMOTE\'\n ]\n }\n\n\n buildTypes {\n release {\n minifyEnabled false\n shrinkResources false\n\n proguardFiles getDefaultProguardFile(\'proguard-android-optimize.txt\'), \'proguard-rules.pro\'\n\n buildConfigField "String", "SERVER_URL", \'"https://xxx/xx"\'\n buildConfigField "String", "Share_URL", \'"xxx/xx/"\'\n\n }\n debug {\n minifyEnabled true\n shrinkResources false\n proguardFiles getDefaultProguardFile(\'proguard-android-optimize.txt\'), \'proguard-rules-debug.pro\'\n\n// signingConfig signingConfigs.release\n\n buildConfigField "String", "SERVER_URL", \'"https://xxx/xx"\'\n buildConfigField "String", "Share_URL", \'"xxx/xx/"\'\n }\n lintOptions {\n checkReleaseBuilds false\n // Or, if you prefer, you can continue to check for errors in release builds,\n // but continue the build even when errors are found:\n abortOnError false\n }\n }\n}\n\ndependencies { configuration ->\n implementation fileTree(include: [\'*.jar\'], dir: \'libs\')\n testImplementation \'junit:junit:4.12\'\n androidTestImplementation \'androidx.test:runner:1.2.0\'\n androidTestImplementation \'androidx.test.espresso:espresso-core:3.2.0\'\n\n androidX(configuration)\n playServices(configuration)\n fireBase(configuration)\n crashlytics(configuration)\n oneSignal(configuration)\n faceBook(configuration)\n retrofit(configuration)\n progressBar(configuration)\n toasty(configuration)\n multiSelectSpinner(configuration)\n picasso(configuration)\n circleImageView(configuration)\n imageSlider(configuration)\n// imageSliderAnimations(configuration)\n expandableRecyclerView(configuration)\n tagView(configuration)\n stepperIndicator(configuration)\n rateApp(configuration)\n lottieAnimations(configuration)\n// imagePicker(configuration)\n readMoreTextView(configuration)\n validation(configuration)\n implementation project(path: \':YouTubeAndroidPlayerApi\')\n\n}\n\nprivate static void androidX(configuration) {\n def version = "1.0.0"\n\n configuration.implementation "com.google.android.material:material:$version"\n configuration.implementation "androidx.legacy:legacy-support-v4:$version"\n configuration.implementation "com.google.android.material:material:$version"\n configuration.implementation "androidx.recyclerview:recyclerview:$version"\n configuration.implementation "androidx.cardview:cardview:$version"\n configuration.implementation "androidx.legacy:legacy-support-v4:$version"\n configuration.implementation \'androidx.constraintlayout:constraintlayout:1.1.3\'\n configuration.implementation \'androidx.vectordrawable:vectordrawable:1.0.1\'\n configuration.implementation \'androidx.appcompat:appcompat:1.1.0-rc01\'\n\n}\n\nprivate static void playServices(configuration) {\n def version = "17.0.0"\n configuration.implementation "com.google.android.gms:play-services-location:$version"\n configuration.implementation "com.google.android.gms:play-services-places:$version"\n configuration.implementation "com.google.android.gms:play-services-maps:$version"\n configuration.implementation "com.google.android.gms:play-services-auth:$version"\n configuration.implementation \'com.google.android.gms:play-services-ads:18.1.1\'\n configuration.implementation \'com.google.android.play:core:1.6.1\'\n}\n\nprivate static void fireBase(configuration) {\n configuration.implementation \'com.google.firebase:firebase-perf:19.0.0\'\n configuration.implementation \'com.google.firebase:firebase-core:17.1.0\'\n configuration.implementation \'com.google.firebase:firebase-messaging:20.0.0\'\n configuration.implementation \'com.google.firebase:firebase-invites:17.0.0\'\n configuration.implementation \'com.google.firebase:firebase-appindexing:19.0.0\'\n}\nRun Code Online (Sandbox Code Playgroud)\n\n\n buildscript {\n\n repositories {\n google()\n jcenter()\n mavenCentral()\n maven { url \'https://maven.fabric.io/public\' }\n maven { url \'https://plugins.gradle.org/m2/\'}\n }\n dependencies {\n classpath \'com.android.tools.build:gradle:3.5.0\'\n classpath \'com.google.gms:google-services:4.3.0\'\n classpath \'io.fabric.tools:gradle:1.29.0\'\n\n classpath \'com.google.firebase:perf-plugin:1.3.1\'\n classpath \'gradle.plugin.com.onesignal:onesignal-gradle-plugin:0.12.1\'\n\n // NOTE: Do not place your application dependencies here; they belong\n // in the individual module build.gradle files\n }\n }\n\n allprojects {\n repositories {\n google()\n jcenter()\n maven { url "https://jitpack.io" }\n maven { url \'https://maven.google.com/\' }\n }\n }\n\n task clean(type: Delete) {\n delete rootProject.buildDir\n }\nRun Code Online (Sandbox Code Playgroud)\n\n混淆规则
\n\n-keepattributes *Annotation*\n\n######## crashlytics\n-keepattributes SourceFile,LineNumberTable\n-keep public class * extends java.lang.Exception\n########\n\n\n######## saripaar\n-keep class com.mobsandgeeks.saripaar.** {*;}\n-keep @com.mobsandgeeks.saripaar.annotation.ValidateUsing class * {*;}\n########\n\n######## com.wang.avi:library\n-keep class com.wang.avi.** { *; }\n-keep class com.wang.avi.indicators.** { *; }\n########\n\n######## okhttp3\n-dontwarn javax.annotation.**\n-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase\n-dontwarn org.codehaus.mojo.animal_sniffer.*\n-dontwarn okhttp3.internal.platform.ConscryptPlatform\n########\n\n######## gson\n-keep class sun.misc.Unsafe { *; }\n-keep class com.google.gson.stream.** { *; }\n########\n\n######## stetho debuging only\n-keep class com.facebook.stetho.** { *; }\n-dontwarn com.facebook.stetho.**\n########\n\n######## debuging\n-dontobfuscate\n-addconfigurationdebugging-keepattributes *Annotation*\n\n######## crashlytics\n-keepattributes SourceFile,LineNumberTable\n-keep public class * extends java.lang.Exception\n########\n\n\n######## saripaar\n-keep class com.mobsandgeeks.saripaar.** {*;}\n-keep @com.mobsandgeeks.saripaar.annotation.ValidateUsing class * {*;}\n########\n\n######## com.wang.avi:library\n-keep class com.wang.avi.** { *; }\n-keep class com.wang.avi.indicators.** { *; }\n########\n\n######## okhttp3\n-dontwarn javax.annotation.**\n-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase\n-dontwarn org.codehaus.mojo.animal_sniffer.*\n-dontwarn okhttp3.internal.platform.ConscryptPlatform\n########\n\n######## gson\n-keep class sun.misc.Unsafe { *; }\n-keep class com.google.gson.stream.** { *; }\n########\n\n######## stetho debuging only\n-keep class com.facebook.stetho.** { *; }\n-dontwarn com.facebook.stetho.**\n########\n\n######## debuging\n-dontobfuscate\n-addconfigurationdebugging\n\nRun Code Online (Sandbox Code Playgroud)\n\n当我删除时,firebase:perf会出现相同的错误firebase-messaging
| 归档时间: |
|
| 查看次数: |
1363 次 |
| 最近记录: |