Flatter应用程序在启动时和通过java.lang.ClassNotFoundException在生产时崩溃
我正在开发一个应用程序使用颤振。调试apk工作正常,但当我构建用于发布的apk时,它崩溃了。我将该应用程序上传到playstore,并在ANR/Crash reports页面中找到了它Flatter应用程序在启动时和通过java.lang.ClassNotFoundException在生产时崩溃,java,android,flutter,classnotfoundexception,Java,Android,Flutter,Classnotfoundexception,我正在开发一个应用程序使用颤振。调试apk工作正常,但当我构建用于发布的apk时,它崩溃了。我将该应用程序上传到playstore,并在ANR/Crash reports页面中找到了它 java.lang.RuntimeException: at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3029) at android.app.ActivityThread.handleLaunchAct
java.lang.RuntimeException:
at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3029)
at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3266)
at android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1957)
at android.os.Handler.dispatchMessage (Handler.java:106)
at android.os.Looper.loop (Looper.java:214)
at android.app.ActivityThread.main (ActivityThread.java:7099)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:494)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:965)
Caused by: java.lang.ClassNotFoundException:
at dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:134)
at java.lang.ClassLoader.loadClass (ClassLoader.java:379)
at java.lang.ClassLoader.loadClass (ClassLoader.java:312)
at android.app.AppComponentFactory.instantiateActivity (AppComponentFactory.java:69)
at android.app.Instrumentation.newActivity (Instrumentation.java:1219)
at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3017)
android/app下的My build.gradle文件,内容供参考
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1.1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.1'
}
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
android {
compileSdkVersion 28
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.eduhomepro.students"
minSdkVersion 16
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
flutter {
source '../..'
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
我想知道是什么bug导致了故障,在调试模式下一切正常 感谢大家的努力和支持。我终于找到了解决办法 实际上,我正在尝试更改包名,并将其从 1) AndroidManifest.xml 2) 格雷德尔先生 但是在我的版本中,我需要更新
app/src/main/kotlin
下的MainActivity.kt
现在它运行良好 您是否使用minifyEnabled??如果是,请禁用它并检查发布apkNot确实,在哪里检查?将build.gradle文件发布到android目录下的应用程序文件夹中,并在pubspec.yamlEither中发布依赖项列表将
minSdkVersion
增加到21或添加多索引支持: