java.lang.ExceptionInInitializerError当运行颤振释放模式
java.lang.ExceptionInInitializerError when running flutter release mode
我的 flutter 应用程序在调试模式下运行良好。但是,当我 运行 它与 flutter run --release
我收到以下错误。
E/AndroidRuntime(18551): java.lang.ExceptionInInitializerError
E/AndroidRuntime(18551): at e.c.M1.o.forTarget(Unknown Source:0)
E/AndroidRuntime(18551): at e.c.M1.p.a(:1)
E/AndroidRuntime(18551): at e.c.J0.b(:2)
E/AndroidRuntime(18551): at com.google.firebase.firestore.p0.V.e(:2)
E/AndroidRuntime(18551): at com.google.firebase.firestore.p0.r.call(Unknown Source:2)
E/AndroidRuntime(18551): at c.d.a.b.l.O.run(Unknown Source:4)
E/AndroidRuntime(18551): at com.google.firebase.firestore.q0.G.a(:1)
E/AndroidRuntime(18551): at com.google.firebase.firestore.q0.l.run(Unknown Source:4)
E/AndroidRuntime(18551): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
E/AndroidRuntime(18551): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/AndroidRuntime(18551): at java.lang.Thread.run(Thread.java:923)
E/AndroidRuntime(18551): Caused by: java.lang.RuntimeException: java.lang.NoSuchMethodException: e.c.J1.values []
E/AndroidRuntime(18551): at java.lang.Enum.enumValues(Enum.java:270)
E/AndroidRuntime(18551): at java.lang.Enum.access[=12=]0(Enum.java:61)
E/AndroidRuntime(18551): at java.lang.Enum.create(Enum.java:277)
E/AndroidRuntime(18551): at java.lang.Enum.create(Enum.java:275)
E/AndroidRuntime(18551): at libcore.util.BasicLruCache.get(BasicLruCache.java:63)
E/AndroidRuntime(18551): at java.lang.Enum.getSharedConstants(Enum.java:289)
E/AndroidRuntime(18551): at java.lang.Class.getEnumConstantsShared(Class.java:2428)
E/AndroidRuntime(18551): at java.util.EnumSet.getUniverse(EnumSet.java:407)
E/AndroidRuntime(18551): at java.util.EnumSet.noneOf(EnumSet.java:109)
E/AndroidRuntime(18551): at java.util.EnumSet.of(EnumSet.java:235)
E/AndroidRuntime(18551): at e.c.M1.o.<clinit>(Unknown Source:100)
E/AndroidRuntime(18551): ... 11 more
E/AndroidRuntime(18551): Caused by: java.lang.NoSuchMethodException: e.c.J1.values []
E/AndroidRuntime(18551): at java.lang.Class.getMethod(Class.java:2072)
E/AndroidRuntime(18551): at java.lang.Class.getDeclaredMethod(Class.java:2050)
E/AndroidRuntime(18551): at java.lang.Enum.enumValues(Enum.java:267)
E/AndroidRuntime(18551): ... 21 more
我尝试了一些方法,比如升级gradle,将一些依赖升级到最新版本。但是还是没有解决。你能就如何解决这个问题给出任何想法吗?
我遇到了同样的问题:
我的应用程序在 debug 模式下运行,在 build 模式下崩溃。我检查了我的应用程序中的日志,它说 java.lang.ExceptionInInitializerError
我的错误是,我在 <application> ... </application>
标签后添加了摄像头权限
我只是添加了 <uses-permission android:name="android.permission.CAMERA" />
在 <application>
标签之前,它对我有用。现在应用程序不会崩溃
我正在使用 flutter,我找到了解决方案。
有些步骤是你必须做的,请正确遵循:
第 1 步:
在/Android/app文件夹中:
找到以下文件:
proguard-android.txt
proguard-rules.pro
如果它们不存在,请创建它们,并使用相同的名称。
第 2 步:
将此代码粘贴到两个 文件(proguard-android.txt 和proguard-rules.pro):
-keep class io.grpc.** {*;}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
第 3 步:
在/Android/app/build.gradle
确保添加了这些行:
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.release //If in debug, change release to debug
minifyEnabled true
useProguard true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' *//I add this line...*
} }
第 4 步:
在 Android Studio 的终端中
flutter clean
然后
flutter pub get
经过这些步骤后,它一定会起作用。
我的 flutter 应用程序在调试模式下运行良好。但是,当我 运行 它与 flutter run --release
我收到以下错误。
E/AndroidRuntime(18551): java.lang.ExceptionInInitializerError
E/AndroidRuntime(18551): at e.c.M1.o.forTarget(Unknown Source:0)
E/AndroidRuntime(18551): at e.c.M1.p.a(:1)
E/AndroidRuntime(18551): at e.c.J0.b(:2)
E/AndroidRuntime(18551): at com.google.firebase.firestore.p0.V.e(:2)
E/AndroidRuntime(18551): at com.google.firebase.firestore.p0.r.call(Unknown Source:2)
E/AndroidRuntime(18551): at c.d.a.b.l.O.run(Unknown Source:4)
E/AndroidRuntime(18551): at com.google.firebase.firestore.q0.G.a(:1)
E/AndroidRuntime(18551): at com.google.firebase.firestore.q0.l.run(Unknown Source:4)
E/AndroidRuntime(18551): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
E/AndroidRuntime(18551): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/AndroidRuntime(18551): at java.lang.Thread.run(Thread.java:923)
E/AndroidRuntime(18551): Caused by: java.lang.RuntimeException: java.lang.NoSuchMethodException: e.c.J1.values []
E/AndroidRuntime(18551): at java.lang.Enum.enumValues(Enum.java:270)
E/AndroidRuntime(18551): at java.lang.Enum.access[=12=]0(Enum.java:61)
E/AndroidRuntime(18551): at java.lang.Enum.create(Enum.java:277)
E/AndroidRuntime(18551): at java.lang.Enum.create(Enum.java:275)
E/AndroidRuntime(18551): at libcore.util.BasicLruCache.get(BasicLruCache.java:63)
E/AndroidRuntime(18551): at java.lang.Enum.getSharedConstants(Enum.java:289)
E/AndroidRuntime(18551): at java.lang.Class.getEnumConstantsShared(Class.java:2428)
E/AndroidRuntime(18551): at java.util.EnumSet.getUniverse(EnumSet.java:407)
E/AndroidRuntime(18551): at java.util.EnumSet.noneOf(EnumSet.java:109)
E/AndroidRuntime(18551): at java.util.EnumSet.of(EnumSet.java:235)
E/AndroidRuntime(18551): at e.c.M1.o.<clinit>(Unknown Source:100)
E/AndroidRuntime(18551): ... 11 more
E/AndroidRuntime(18551): Caused by: java.lang.NoSuchMethodException: e.c.J1.values []
E/AndroidRuntime(18551): at java.lang.Class.getMethod(Class.java:2072)
E/AndroidRuntime(18551): at java.lang.Class.getDeclaredMethod(Class.java:2050)
E/AndroidRuntime(18551): at java.lang.Enum.enumValues(Enum.java:267)
E/AndroidRuntime(18551): ... 21 more
我尝试了一些方法,比如升级gradle,将一些依赖升级到最新版本。但是还是没有解决。你能就如何解决这个问题给出任何想法吗?
我遇到了同样的问题:
我的应用程序在 debug 模式下运行,在 build 模式下崩溃。我检查了我的应用程序中的日志,它说 java.lang.ExceptionInInitializerError
我的错误是,我在 <application> ... </application>
标签后添加了摄像头权限
我只是添加了 <uses-permission android:name="android.permission.CAMERA" />
在 <application>
标签之前,它对我有用。现在应用程序不会崩溃
我正在使用 flutter,我找到了解决方案。
有些步骤是你必须做的,请正确遵循:
第 1 步:
在/Android/app文件夹中:
找到以下文件: proguard-android.txt proguard-rules.pro
如果它们不存在,请创建它们,并使用相同的名称。
第 2 步:
将此代码粘贴到两个 文件(proguard-android.txt 和proguard-rules.pro):
-keep class io.grpc.** {*;}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
第 3 步:
在/Android/app/build.gradle 确保添加了这些行:
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.release //If in debug, change release to debug
minifyEnabled true
useProguard true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' *//I add this line...*
} }
第 4 步:
在 Android Studio 的终端中
flutter clean
然后
flutter pub get
经过这些步骤后,它一定会起作用。