Flutter应用从Google Play安装后卡在启动页,手动安装APK正常的问题求助
Flutter应用从Google Play安装后卡在启动页,手动安装APK正常的问题求助
大家好,我遇到了一个非常头疼的问题,想请教下各位有没有解决思路:
我的Flutter应用从Google Play商店安装后,会一直卡在启动页无法进入主界面;但如果是手动打包APK然后安装到设备上,运行就完全正常,没有任何问题。
从Google Play控制台的Crashes and ANRs里,我拿到了这样的异常日志:
Exception java.lang.RuntimeException: at android.app.ActivityThread.performResumeActivity (ActivityThread.java:4918) at android.app.ActivityThread.handleResumeActivity (ActivityThread.java:4955) at android.app.servertransaction.ResumeActivityItem.execute (ResumeActivityItem.java:52) at android.app.servertransaction.TransactionExecutor.executeLifecycleState (TransactionExecutor.java:176) at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:97) at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2336) at android.os.Handler.dispatchMessage (Handler.java:106) at android.os.Looper.loop (Looper.java:246) at android.app.ActivityThread.main (ActivityThread.java:8653) at java.lang.reflect.Method.invoke (Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:602) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1130) Caused by java.lang.IllegalStateException: at com.google.firebase.FirebaseApp.getInstance (FirebaseApp.java) at com.google.firebase.dynamiclinks.FirebaseDynamicLinks.getInstance (FirebaseDynamicLinks.java) at io.flutter.plugins.firebase.dynamiclinks.FlutterFirebaseDynamicLinksPlugin.getDynamicLinkInstance (FlutterFirebaseDynamicLinksPlugin.java) at io.flutter.plugins.firebase.dynamiclinks.FlutterFirebaseDynamicLinksPlugin.onNewIntent (FlutterFirebaseDynamicLinksPlugin.java) at io.flutter.embedding.engine.FlutterEngineConnectionRegistry$FlutterEngineActivityPluginBinding.onNewIntent (FlutterEngineConnectionRegistry.java) at io.flutter.embedding.engine.FlutterEngineConnectionRegistry.onNewIntent (FlutterEngineConnectionRegistry.java) at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onNewIntent (FlutterActivityAndFragmentDelegate.java) at io.flutter.embedding.android.FlutterActivity.onNewIntent (FlutterActivity.java) at android.app.Activity.performNewIntent (Activity.java:8222) at android.app.Instrumentation.callActivityOnNewIntent (Instrumentation.java:1409) at android.app.Instrumentation.callActivityOnNewIntent (Instrumentation.java:1422) at android.app.ActivityThread.deliverNewIntents (ActivityThread.java:4085) at android.app.ActivityThread.performResumeActivity (ActivityThread.java:4901)
另外,我在本地用无调试模式运行时,终端里出现了这些提示:
Note: C:\flutter.pub-cache\hosted\pub.dartlang.org\firebase_dynamic_links-5.0.11\android\src\main\java\io\flutter\plugins\firebase\dynamiclinks\FlutterFirebaseDynamicLinksPlugin.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: C:\flutter.pub-cache\hosted\pub.dartlang.org\firebase_messaging-14.2.1\android\src\main\java\io\flutter\plugins\firebase\messaging\FlutterFirebaseMessagingPlugin.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details.
我已经尝试过完全移除firebase_dynamic_links:^5.0.11和firebase_messaging: ^14.2.1这两个插件,但重新打包上传到Play商店后,应用还是卡在启动页,问题没有解决。
最后附上我的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 Exception("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' } def flutterVersionName = localProperties.getProperty('flutter.versionName') if (flutterVersionName == null) { flutterVersionName = '1.0' } 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 33 ndkVersion flutter.ndkVersion compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = '1.8' } sourceSets { main.java.srcDirs += 'src/main/kotlin' } defaultConfig { applicationId "com.mosesbinzi.neba" minSdkVersion 21 targetSdkVersion 33 versionCode flutterVersionCode.toInteger() versionName flutterVersionName } 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" implementation 'com.google.android.gms:play-services-appset:16.0.2' implementation platform('com.google.firebase:firebase-bom:31.1.0') implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-messaging' implementation 'com.google.firebase:firebase-appcheck-playintegrity' }
备注:内容来源于stack exchange,提问作者moises
相关产品推荐
相关产品推荐

