Flutter入门项目本机崩溃 - 可以在Play商店发布Beta测试
我已经开发了一个Flutter应用程序,并签名并构建了一个应用程序捆绑包。我在应用程序/build.gradle中包括以下几行,指出:
android {
compileSdkVersion 32
ndkPath = "/Users/mmm/Library/Android/sdk/ndk/24.0.8215888"
...
defaultConfig {
applicationId "com.blablabla.my_app"
minSdkVersion 21
targetSdkVersion 32
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86_64'
}
}
...
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
shrinkResources false
minifyEnabled false
}
}
}
android.buildTypes.release.ndk.debugSymbolLevel = 'symbol_table'
当我将该应用程序发布到封闭beta测试时,它一直说在GCE X86模拟器上进行了测试时发生了本机崩溃。我什至尝试不包括“ X86_64” ABI,但Play商店控制台仍然将该应用程序放在GCE手机上进行测试。视频显示我的应用程序的主页显示不到一秒钟,然后消失了。我只知道DART和FLUTTER,崩溃报告一直在说我绝对不理解的事情:
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'generic/gce_x86_phone/gce_x86:9/PGR1.190916.001/5877764:userdebug/test-keys'
Revision: '0'
ABI: 'x86'
pid: 6487, tid: 7424, name: 1.raster >>> com.blablabla.my_app <<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
Abort message: 'vendor/unbundled_google/libs/ndk_translation/ndk_translation/ir/include/ndk_translation/ir/ir.h:685: CHECK failed: IsAligned(offset, GetFormatSize(format))'
eax 00000000 ebx 00001957 ecx 00001d00 edx 00000006
edi 00001957 esi ca3bfb5c
ebp ca3bfb28 esp ca3bfab8 eip f10a2be9
backtrace:
#00 pc 00000be9 [vdso:f10a2000] (__kernel_vsyscall+9)
#01 pc 0001fdf8 /system/lib/libc.so (syscall+40)
#02 pc 00022e73 /system/lib/libc.so (abort+115)
#03 pc 00006c84 /system/lib/liblog.so (__android_log_assert+292)
#04 pc 0009f2b4 /system/lib/libndk_translation.so (ndk_translation::GetInsn::GetInsn(ndk_translation::IR*, ndk_translation::Format, unsigned int)+276)
#05 pc 0009f100 /system/lib/libndk_translation.so (ndk_translation::IRBuilder::Get(ndk_translation::Format, unsigned int)+144)
#06 pc 0009dd2e /system/lib/libndk_translation.so (ndk_translation::(anonymous namespace)::InsnBuilder::Get(ndk_translation::Format, unsigned int)+46)
#07 pc 000d0b4b /system/lib/libndk_translation.so (ndk_translation::SemanticsDecoder::VTBL(ndk_translation::VTBL_Args const&)+363)
#08 pc 00100568 /system/lib/libndk_translation.so (ndk_translation::ArmDecoder::TranslateThumbInsn(unsigned short const*)+86104)
#09 pc 0009c2b6 /system/lib/libndk_translation.so (ndk_translation::(anonymous namespace)::GenerateIRHelper(ndk_translation::CompilerHooks*, unsigned int, unsigned int, ndk_translation::IR*)+1142)
#10 pc 0009be1f /system/lib/libndk_translation.so (ndk_translation::GenerateIR(ndk_translation::CompilerHooks*, unsigned int, ndk_translation::IR*, unsigned int*)+47)
#11 pc 0009bbdf /system/lib/libndk_translation.so (ndk_translation::Compile(ndk_translation::CompilerHooks*, unsigned int, ndk_translation::GuestCodeEntry*, unsigned int*, ndk_translation::MachineCode*)+143)
#12 pc 0007a0da /system/lib/libndk_translation.so (ndk_translation::(anonymous namespace)::Translate(ndk_translation::TranslationCache*, unsigned int, ndk_translation::GuestCodeEntry*)+378)
#13 pc 00079f1c /system/lib/libndk_translation.so (ndk_translation_HandleNotTranslated+300)
#14 pc 0018db57 /system/lib/libndk_translation.so
由于我的应用程序正在使用蓝牙,因此我在runapp()之前尝试了检查方法,以避免模拟器试图运行与Flutter_blue_plus相关的任何部分。但这无济于事。
我已经尝试了10次不同的措施,但仍获得此崩溃报告。我什至将应用程序发布到了生产发布会上,但是控制台阻止了该应用程序,并将我的应用程序“审核”。
然后,我升级到了最新的Flutter 3.0.2,并创建了一个新的Flutter样品启动项目(那个普通的旧柜台!),签名进行释放并放入Play Store封闭的Beta,上述崩溃仍然发生!
在构建应用程序之前,每次都清理了颤音,没有任何帮助!
我正在使用 MacBook Pro M1 2020 版本开发, Android Studio Chipmunk 2021.2.1补丁1(建于2022年5月19日)。
我可以做任何设置,以便在GCE X86手机上进行游戏商店控制台跳过测试?我已经谷歌搜索了它,它是Google Computing Engine One,它没有在设备目录中显示。所有英特尔芯片,X86手机和Google X86仿真器(我认为这不是GCE)都被排除在测试之外。
请帮忙!我从事这个颤抖的应用程序已经工作了一年多。物理设备上的手动安装正常。我感到非常沮丧,焦虑和迷失,我的老板给了我很高的压力。我必须在1周内进入Play商店。帮助!
I have developed a flutter app, signed and built an app bundle. I have included the following lines in the app/build.gradle stating that:
android {
compileSdkVersion 32
ndkPath = "/Users/mmm/Library/Android/sdk/ndk/24.0.8215888"
...
defaultConfig {
applicationId "com.blablabla.my_app"
minSdkVersion 21
targetSdkVersion 32
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86_64'
}
}
...
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
shrinkResources false
minifyEnabled false
}
}
}
android.buildTypes.release.ndk.debugSymbolLevel = 'symbol_table'
When I publish that app to Closed Beta testing, it keeps saying there is a Native Crash while tested on a GCE x86 emulator. I even tried not including the 'x86_64' abi but the Play Store Console still put the app on that GCE phone to test. The video shows my app's Home page appear for less than a second then disappears. I only knew dart and flutter and the crash report keeps saying something I have absolutely do not understand:
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'generic/gce_x86_phone/gce_x86:9/PGR1.190916.001/5877764:userdebug/test-keys'
Revision: '0'
ABI: 'x86'
pid: 6487, tid: 7424, name: 1.raster >>> com.blablabla.my_app <<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
Abort message: 'vendor/unbundled_google/libs/ndk_translation/ndk_translation/ir/include/ndk_translation/ir/ir.h:685: CHECK failed: IsAligned(offset, GetFormatSize(format))'
eax 00000000 ebx 00001957 ecx 00001d00 edx 00000006
edi 00001957 esi ca3bfb5c
ebp ca3bfb28 esp ca3bfab8 eip f10a2be9
backtrace:
#00 pc 00000be9 [vdso:f10a2000] (__kernel_vsyscall+9)
#01 pc 0001fdf8 /system/lib/libc.so (syscall+40)
#02 pc 00022e73 /system/lib/libc.so (abort+115)
#03 pc 00006c84 /system/lib/liblog.so (__android_log_assert+292)
#04 pc 0009f2b4 /system/lib/libndk_translation.so (ndk_translation::GetInsn::GetInsn(ndk_translation::IR*, ndk_translation::Format, unsigned int)+276)
#05 pc 0009f100 /system/lib/libndk_translation.so (ndk_translation::IRBuilder::Get(ndk_translation::Format, unsigned int)+144)
#06 pc 0009dd2e /system/lib/libndk_translation.so (ndk_translation::(anonymous namespace)::InsnBuilder::Get(ndk_translation::Format, unsigned int)+46)
#07 pc 000d0b4b /system/lib/libndk_translation.so (ndk_translation::SemanticsDecoder::VTBL(ndk_translation::VTBL_Args const&)+363)
#08 pc 00100568 /system/lib/libndk_translation.so (ndk_translation::ArmDecoder::TranslateThumbInsn(unsigned short const*)+86104)
#09 pc 0009c2b6 /system/lib/libndk_translation.so (ndk_translation::(anonymous namespace)::GenerateIRHelper(ndk_translation::CompilerHooks*, unsigned int, unsigned int, ndk_translation::IR*)+1142)
#10 pc 0009be1f /system/lib/libndk_translation.so (ndk_translation::GenerateIR(ndk_translation::CompilerHooks*, unsigned int, ndk_translation::IR*, unsigned int*)+47)
#11 pc 0009bbdf /system/lib/libndk_translation.so (ndk_translation::Compile(ndk_translation::CompilerHooks*, unsigned int, ndk_translation::GuestCodeEntry*, unsigned int*, ndk_translation::MachineCode*)+143)
#12 pc 0007a0da /system/lib/libndk_translation.so (ndk_translation::(anonymous namespace)::Translate(ndk_translation::TranslationCache*, unsigned int, ndk_translation::GuestCodeEntry*)+378)
#13 pc 00079f1c /system/lib/libndk_translation.so (ndk_translation_HandleNotTranslated+300)
#14 pc 0018db57 /system/lib/libndk_translation.so
As my app is using bluetooth, I tried a checking method before runApp() to avoid the emulator attempting to run any part that's related to flutter_blue_plus. But that did not help.
I already tried different measures for 10 times, still getting this crash report. I even put the app to production launch, but the console blocks that and put my app to "reviewing".
Then, I upgraded to the newest Flutter 3.0.2 and created a new FLUTTER SAMPLE STARTER PROJECT (that plain old counter one!), signed for release and put onto Play Store Closed Beta, the above crash still happens!
flutter cleaned every time before I build the app, nothing helps!
I am developing on a Macbook Pro M1 2020 version, with Android Studio Chipmunk 2021.2.1 Patch 1 (built on May 19, 2022).
Is there any settings I can make so the Play Store Console skip testing on that GCE x86 phone? I have googled that and it is Google Computing Engine one, it is not shown in the device catalog. All Intel chips, x86 phones and the Google x86 Emulator(I think this is not the GCE one) are excluded from the testing.
Please help! I have been working on this flutter app for over a year. Manual installation on physical devices works fine. I feel very frustrated, anxious and lost, my bosses are giving me very high pressure. I must get it on to the Play Store in 1 week. HELP!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论