android - 应用程序在发布时崩溃,无法从 google play 获取堆栈跟踪
问题描述
因此,我的应用程序 apk 在调试时运行良好,一旦我将其发布,我的应用程序就可以安装,但在打开应用程序时会立即崩溃。我无法使用堆栈跟踪找到错误,因为谷歌播放只在我的崩溃选项卡下给我这样的东西,
pid: 0, tid: 0 >>> myapp.mobile.app <<<
backtrace:
#00 pc 000000000001cd66 /system/lib/libc.so (abort+58)
#01 pc 000000000005b861 /data/app/myapp.mobile.app-NMGEC5MygxTSkiehEoUA7A==/lib/arm/libflutter.so
#02 pc 000000000004ff59 /data/app/myapp.mobile.app-NMGEC5MygxTSkiehEoUA7A==/lib/arm/libflutter.so (JNI_OnLoad+72)
#03 pc 0000000000234d79 /system/lib/libart.so (art::JavaVMExt::LoadNativeLibrary(_JNIEnv*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, _jobject*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*)+2324)
#04 pc 0000000000002f5b /system/lib/libopenjdkjvm.so (JVM_NativeLoad+230)
#05 pc 000000000010c733 /system/framework/arm/boot.oat (java.lang.Runtime.nativeLoad [DEDUPED]+130)
#06 pc 000000000016708b /system/framework/arm/boot.oat (java.lang.Runtime.loadLibrary0+146)
#07 pc 000000000016b94f /system/framework/arm/boot.oat (java.lang.System.loadLibrary+86)
#08 pc 000000000040d575 /system/lib/libart.so (art_quick_invoke_stub_internal+68)
#09 pc 00000000003e6c7b /system/lib/libart.so (art_quick_invoke_static_stub+222)
#10 pc 00000000000a1027 /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+154)
#11 pc 00000000001e5ae9 /system/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+236)
#12 pc 00000000001e05d7 /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+814)
#13 pc 00000000003e27af /system/lib/libart.so (MterpInvokeStatic+130)
#14 pc 0000000000400494 /system/lib/libart.so (ExecuteMterpImpl+14612)
#15 pc 0000000000008ed4 /data/app/myapp.mobile.app-NMGEC5MygxTSkiehEoUA7A==/oat/arm/base.vdex (io.flutter.view.FlutterMain.a+80)
#16 pc 00000000001c4d53 /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2471763592+378)
#17 pc 00000000001c9439 /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+152)
#18 pc 00000000001e05bf /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+790)
#19 pc 00000000003e27af /system/lib/libart.so (MterpInvokeStatic+130)
#20 pc 0000000000400494 /system/lib/libart.so (ExecuteMterpImpl+14612)
#21 pc 0000000000008e6a /data/app/myapp.mobile.app-NMGEC5MygxTSkiehEoUA7A==/oat/arm/base.vdex (io.flutter.view.FlutterMain.a+10)
#22 pc 00000000001c4d53 /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2471763592+378)
#23 pc 00000000001c937f /system/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+82)
#24 pc 00000000003d52b9 /system/lib/libart.so (artQuickToInterpreterBridge+880)
#25 pc 0000000000411aff /system/lib/libart.so (art_quick_to_interpreter_bridge+30)
#26 pc 000000000040d575 /system/lib/libart.so (art_quick_invoke_stub_internal+68)
#27 pc 00000000003e6c7b /system/lib/libart.so (art_quick_invoke_static_stub+222)
#28 pc 00000000000a1027 /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+154)
#29 pc 00000000001e5ae9 /system/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+236)
#30 pc 00000000001e05d7 /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+814)
#31 pc 00000000003e27af /system/lib/libart.so (MterpInvokeStatic+130)
#32 pc 0000000000400494 /system/lib/libart.so (ExecuteMterpImpl+14612)
#33 pc 0000000000007b8a /data/app/myapp.mobile.app-NMGEC5MygxTSkiehEoUA7A==/oat/arm/base.vdex (io.flutter.app.FlutterApplication.onCreate+6)
#34 pc 00000000001c4d53 /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2471763592+378)
#35 pc 00000000001c937f /system/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+82)
#36 pc 00000000003d52b9 /system/lib/libart.so (artQuickToInterpreterBridge+880)
#37 pc 0000000000411aff /system/lib/libart.so (art_quick_to_interpreter_bridge+30)
#38 pc 000000000067a899 /system/framework/arm/boot-framework.oat (android.app.Instrumentation.callApplicationOnCreate+40)
#39 pc 000000000075a4bb /system/framework/arm/boot-framework.oat (android.app.ActivityThread.handleBindApplication+6626)
#40 pc 0000000000756435 /system/framework/arm/boot-framework.oat (android.app.ActivityThread$H.handleMessage+5788)
#41 pc 000000000090e329 /system/framework/arm/boot-framework.oat (android.os.Handler.dispatchMessage+136)
#42 pc 0000000000910a23 /system/framework/arm/boot-framework.oat (android.os.Looper.loop+1162)
#43 pc 000000000075f6b3 /system/framework/arm/boot-framework.oat (android.app.ActivityThread.main+674)
#44 pc 000000000040d575 /system/lib/libart.so (art_quick_invoke_stub_internal+68)
#45 pc 00000000003e6c7b /system/lib/libart.so (art_quick_invoke_static_stub+222)
#46 pc 00000000000a1027 /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+154)
#47 pc 0000000000347ac5 /system/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+52)
#48 pc 0000000000348f15 /system/lib/libart.so (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned int)+1024)
#49 pc 00000000002fb0c5 /system/lib/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+40)
#50 pc 000000000011226f /system/framework/arm/boot.oat (java.lang.Class.getDeclaredMethodInternal [DEDUPED]+110)
#51 pc 0000000000a0a56b /system/framework/arm/boot-framework.oat (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+114)
#52 pc 0000000000a10455 /system/framework/arm/boot-framework.oat (com.android.internal.os.ZygoteInit.main+2836)
#53 pc 000000000040d575 /system/lib/libart.so (art_quick_invoke_stub_internal+68)
#54 pc 00000000003e6c7b /system/lib/libart.so (art_quick_invoke_static_stub+222)
#55 pc 00000000000a1027 /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+154)
#56 pc 0000000000347ac5 /system/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+52)
#57 pc 00000000003478ef /system/lib/libart.so (art::InvokeWithVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+310)
#58 pc 000000000028eb11 /system/lib/libart.so (art::JNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+444)
#59 pc 000000000006c93b /system/lib/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+30)
#60 pc 000000000006eb93 /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+458)
#61 pc 0000000000001989 /system/bin/app_process32 (main+728)
#62 pc 000000000008ae6d /system/lib/libc.so (__libc_init+48)
#63 pc 000000000000166f /system/bin/app_process32 (_start_main+38)
#64 pc 0000000000000306 <anonymous>
这对我来说没有任何意义,我从这里https://flutter.io/android-release/遵循部署的指示,并试图一遍又一遍地找出发布的问题。
我将向您介绍我采取的非显而易见的步骤,希望我能找到我的应用程序崩溃的原因
如果应用程序不需要互联网,请删除 android.permission.INTERNET;
- 我把它留在里面是因为我的应用上有一个链接,我希望人们点击它并被引导到浏览器;否则这个应用程序根本不需要互联网连接,并且应该能够在没有互联网的情况下运行。我不知道我是否必须保留这个,所以我保留了它。
minSdkVersion 和 targetSdkVersion 的版本控制。
- 我不太确定在这里做什么。我在 android studio 上的 SDK 包括 oreo(27) 和 28,所以我将最小值设置为 16,目标设置为 28,并将 compileSDK 设置为 28。
保护规则
- 我有一个用于 sqlite 的颤振插件,它是“package:sqflite/sqflite.dart”,并且想知道这些规则是否会包括我拥有的 sqlite 颤振插件(看起来确实如此)
我的 proguard-rules.pro 中有这个
#Flutter Wrapper
-keep class io.flutter.app.** { *; }
-keep class io.flutter.plugin.** { *; }
-keep class io.flutter.util.** { *; }
-keep class io.flutter.view.** { *; }
-keep class io.flutter.** { *; }
-keep class io.flutter.plugins.** { *; }
我没有 android 设备来为自己查看崩溃,我使用 google play 的每个模拟器(nexus 5、api 27、android 8.1)和一个使用 api 28 的模拟器都说该应用程序与设备不兼容谷歌游戏商店。所以我无法在我的模拟器中重新创建它。
它在我所有运行 android 9 的测试手机上都崩溃了
如果您对它为什么崩溃有任何意义,请告诉我,如果不是,我怎样才能获得崩溃的堆栈跟踪,以便我可以继续找出为什么会发生这种情况。
如果您需要查看我的文件,请发表评论,谢谢
build.gradle(仅限安卓)
android {
compileSdkVersion 28
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
applicationId "myapp.mobile.app"
minSdkVersion 16
targetSdkVersion 28
versionCode 3
versionName "Beta."
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
useProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
flutter {
source '../..'
}
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
解决方案
推荐阅读
- python - 在python3中获取Nonetype Attribute错误
- excel - 使用新的 Excel 动态数组公式的累积和公式
- excel - 我的 VBA Excel 代码上的运行时错误 1004 - 将数据从一个工作表传输到另一个工作表
- android - Firebase 数据库中的“.info/serverTimeOffset”不刷新
- c - 关于整数提升
- android - android 我设置了songti.ttc这样的字体,但是我的textview设置是gravity=“center”,结果在android 5.0 lollipop上不起作用
- go - 使用外包文件中的函数
- javascript - 如何在反应中显示加载程序。使用钩子
- html - 有没有办法从 XSD 生成动态 Web 表单?
- node.js - Mogodb 索引名称太长