Flutter Starter Project Native Crash - Can't publish for beta testing on Play Store

Viewed 196

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!

EVEN A PLAIN FLUTTER STARTER PROJECT CRASHES

Crash Report

0 Answers
Related