Unity app with ARCore services crashes in release mode if embedded into Flutter. Debug and profile modes work just fine. This is an ARCore-specific issue, meaning other Unity projects not incorporating these services don't suffer from the same issue.
VERSIONS USED
Unity: 2019.4.13f1
ARCore SDK for Unity: 1.21.0
Device manufacturer, model, and O/S: Samsung Galaxy A8 API 28, Samsung Galaxy S10 API 29 (and other devices according to this comment.
Google Play Services for AR (ARCore): Latest 1.22
Output of adb shell getprop ro.build.fingerprint: samsung/jackpotltexx/jackpotlte:9/PPR1.180610.011/A530FXXSECTJ1:user/release-keys
SPECIFIC ISSUE ENCOUNTERED
Unity app with ARCore services crashes in release mode if embedded into Flutter. Debug and profile modes work just fine. This is an ARCore-specific issue, meaning other Unity projects not incorporating these services don't suffer from the same issue.
VERSIONS USED
adb shell getprop ro.build.fingerprint
: samsung/jackpotltexx/jackpotlte:9/PPR1.180610.011/A530FXXSECTJ1:user/release-keysSTEPS TO REPRODUCE THE ISSUE
OUTPUT ON CRASH:
E/AndroidRuntime(26783): FATAL EXCEPTION: UnityMain E/AndroidRuntime(26783): Process: com.example.ar_unity, PID: 26783 E/AndroidRuntime(26783): java.lang.Error: E/AndroidRuntime(26783): Version '2019.3.3f1 (7ceaae5f7503)', Build type 'Release', Scripting Backend 'il2cpp', CPU 'arm64-v8a' E/AndroidRuntime(26783): Build fingerprint: 'samsung/jackpotltexx/jackpotlte:9/PPR1.180610.011/A530FXXSECTJ1:user/release-keys' E/AndroidRuntime(26783): Revision: '7' E/AndroidRuntime(26783): ABI: 'arm64' E/AndroidRuntime(26783): Timestamp: 2020-12-04 18:38:59+0100 E/AndroidRuntime(26783): pid: 26783, tid: 26871, name: UnityMain >>> com.example.ar_unity <<< E/AndroidRuntime(26783): uid: 10293 E/AndroidRuntime(26783): signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr -------- E/AndroidRuntime(26783): x0 0000000000000000 x1 00000000000068f7 x2 0000000000000006 x3 0000000000000008 E/AndroidRuntime(26783): x4 20676e696c6c6143 x5 20676e696c6c6143 x6 20676e696c6c6143 x7 6f74736572507241 E/AndroidRuntime(26783): x8 0000000000000083 x9 c4c25d0c5a469944 x10 0000000000000000 x11 fffffffc7ffffbdf E/AndroidRuntime(26783): x12 0000000000000001 x13 2e657a696c616974 x14 ffffffffffffffff x15 00005791f7fef2fc E/AndroidRuntime(26783): x16 00000074625302a0 x17 000000746246f6c8 x18 00000000e843421b x19 000000000000689f E/AndroidRuntime(26783): x20 00000000000068f7 x21 00000073ae5d1940 x22 000000736e495588 x23 00000073ae56c7e5 E/AndroidRuntime(26783): x24 00000073ae56bbbf x25 000000000000000f x26 00000073b22c68a0 x27 0000000000000001 E/AndroidRuntime(26783): x28 0000000000000000 x29 000000736e493200 E/AndroidRuntime(26783): sp 000000736e4931c0 lr 0000007462462ecc pc 0000007462462ef4 E/AndroidRuntime(26783): E/AndroidRuntime(26783): backtrace: E/AndroidRuntime(26783): #00 pc 0000000000021ef4 /system/lib64/libc.so (abort+116) (BuildId: 068840a6ea442b4f95dc3bd52b539682) E/AndroidRuntime(26783): #01 pc 000000000002d3a4 /data/app/com.example.ar_unity-PjyThxlzjfMNX52MdqNFNg==/base.apk (BuildId: 47a01dad660d236bd86133b8442a243d) E/AndroidRuntime(26783): #02 pc 000000000002d370 /data/app/com.example.ar_unity-PjyThxlzjfMNX52MdqNFNg==/base.apk (BuildId: 47a01dad660d236bd86133b8442a243d) E/AndroidRuntime(26783): #03 pc 000000000002d1a0 /data/app/com.example.ar_unity-PjyThxlzjfMNX52MdqNFNg==/base.apk (BuildId: 47a01dad660d236bd86133b8442a243d) E/AndroidRuntime(26783): #04 pc 000000000002cd38 /data/app/com.example.ar_unity-PjyThxlzjfMNX52MdqNFNg==/base.apk (BuildId: 47a01dad660d236bd86133b8442a243d) E/AndroidRuntime(26783): #05 pc 000000000002d5c0 /data/app/com.example.ar_unity-PjyThxlzjfMNX52MdqNFNg==/base.apk (BuildId: 47a01dad660d236bd86133b8442a243d) E/AndroidRuntime(26783): #06 pc 0000000000025e68 /data/app/com.example.ar_unity-PjyThxlzjfMNX52MdqNFNg==/base.apk (ArPresto_getStatus) (BuildId: 47a01dad660d236bd86133b8442a243d) E/AndroidRuntime(26783): #07 pc 0000000000023bdc /data/app/com.example.ar_unity-PjyThxlzjfMNX52MdqNFNg==/base.apk (ArCoreUnity_getPose+48) (BuildId: 7784ab658fc7d1c39498e9b445ec7615) E/AndroidRuntime(26783): #08 pc 00000000005f8340 /data/app/com.example.ar_unity-PjyThxlzjfMNX52MdqNFNg==/base.apk (BuildId: fdab09abad973514e23ccfb803727b88834e7222) E/AndroidRuntime(26783): #09 pc 00000000005f83f4 /data/app/com.example.ar_unity-PjyThxlzjfMNX52MdqNFNg==/base.apk (BuildId: fdab09abad973514e23ccfb803727b88834e7222) E/AndroidRuntime(26783): #10 pc 000000000013f220 /data/app/com.example.ar_unity-PjyThxlzjfMNX52MdqNFNg==/base.apk (BuildId: fdab09abad973514e23ccfb803727b88834e7222) E/AndroidRuntime(26783): #11 pc 0000000000f6ef18 /data/app/com.example.ar_unity-PjyThxlzjfMNX52MdqNFNg==/base.apk (BuildId: 83bd088edc784e84f8061eec845fc040c13057af) E/AndroidRuntime(26783): #12 pc 0000000000f6edc8 /data/app/com.example.ar_unity-PjyThxlzjfMNX52MdqNFNg==/base.apk (BuildId: 83bd088edc784e84f8061eec845fc040c13057af) E/AndroidRuntime(26783): #13 pc 0000000000f6f72c /data/app/com.example.ar_unity-PjyThxlzjfMNX52MdqNFNg==/base.apk (BuildId: 83bd088edc784e84f8061eec845fc040c13057af) E/AndroidRuntime(26783): #14 pc 00000000004c9754 /data/app/com.example.ar_unity-PjyThxlzjfMNX52MdqNFNg==/base.apk (BuildId: 83bd088edc784e84f8061eec845fc040c13057af) E/AndroidRuntime(26783): #15 pc 0000000000573ba8 /data/app/com.example.ar_unity-PjyThxlzjfMNX52MdqNFNg==/base.apk (BuildId: 83bd088edc784e84f8061eec845fc040c13057af) E/AndroidRuntime(26783): #16 pc 00000000002a5564 /data/app/com.example.ar_unity-PjyThxlzjfMNX52MdqNFNg==/base.apk (BuildId: fdab09abad973514e23ccfb803727b88834e7222) E/AndroidRuntime(26783): #17 pc 00000000002b1ab8 /data/app/com.example.ar_unity-PjyThxlzjfMNX52MdqNFNg==/base.apk (BuildId: fdab09abad973514e23ccfb803727b88834e7222) E/AndroidRuntime(26783): #18 pc 00000000002ba34c /data/app/com.example.ar_unity-PjyThxlzjfMNX52MdqNFNg==/base.apk (BuildId: fdab09abad973514e23ccfb803727b88834e7222) E/AndroidRuntime(26783): #19 pc 00000000001984fc /data/app/com.example.ar_unity-PjyThxlzjfMNX52MdqNFNg==/base.apk (BuildId: fdab09abad973514e23ccfb803727b88834e7222) E/AndroidRuntime(26783): #20 pc 000000000022495c /data/app/com.example.ar_unity-PjyThxlzjfMNX52MdqNFNg==/base.apk (BuildId: fdab09abad973514e23ccfb803727b88834e7222) E/AndroidRuntime(26783): #21 pc 0000000000224990 /data/app/com.example.ar_unity-PjyThxlzjfMNX52MdqNFNg==/base.apk (BuildId: fdab09abad973514e23ccfb803727b88834e7222) E/AndroidRuntime(26783): #22 pc 0000000000224bc8 /data/app/com.example.ar_unity-PjyThxlzjfMNX52MdqNFNg==/base.apk (BuildId: fdab09abad973514e23ccfb803727b88834e7222) E/AndroidRuntime(26783): #23 pc 0000000000319e2c /data/app/com.example.ar_unity-PjyThxlzjfMNX52MdqNFNg==/base.apk (BuildId: fdab09abad973514e23ccfb803727b88834e7222) E/AndroidRuntime(26783): #24 pc 000000000032cb24 /data/app/com.example.ar_unity-PjyThxlzjfMNX52MdqNFNg==/base.apk (BuildId: fdab09abad973514e23ccfb803727b88834e7222) E/AndroidRuntime(26783): #25 pc 000000000000a0ac /data/app/com.example.ar_unity-PjyThxlzjfMNX52MdqNFNg==/oat/arm64/base.odex E/AndroidRuntime(26783): E/AndroidRuntime(26783): at libc.abort(abort:116) E/AndroidRuntime(26783): at base.0x2d3a4(Native Method) E/AndroidRuntime(26783): at base.0x2d370(Native Method) E/AndroidRuntime(26783): at base.0x2d1a0(Native Method) E/AndroidRuntime(26783): at base.0x2cd38(Native Method) E/AndroidRuntime(26783): at base.0x2d5c0(Native Method) E/AndroidRuntime(26783): at base.ArPresto_getStatus(ArPresto_getStatus:0) E/AndroidRuntime(26783): at base.ArCoreUnity_getPose(ArCoreUnity_getPose:48) E/AndroidRuntime(26783): at base.0x5f8340(Native Method) E/AndroidRuntime(26783): at base.0x5f83f4(Native Method) E/AndroidRuntime(26783): at base.0x13f220(Native Method) E/AndroidRuntime(26783): at base.0xf6ef18(Native Method) E/AndroidRuntime(26783): at base.0xf6edc8(Native Method) E/AndroidRuntime(26783): at base.0xf6f72c(Native Method) E/AndroidRuntime(26783): at base.0x4c9754(Native Method) E/AndroidRuntime(26783): at base.0x573ba8(Native Method) E/AndroidRuntime(26783): at base.0x2a5564(Native Method) E/AndroidRuntime(26783): at base.0x2b1ab8(Native Method) E/AndroidRuntime(26783): at base.0x2ba34c(Native Method) E/AndroidRuntime(26783): at base.0x1984fc(Native Method) E/AndroidRuntime(26783): at base.0x22495c(Native Method) E/AndroidRuntime(26783): at base.0x224990(Native Method) E/AndroidRuntime(26783): at base.0x224bc8(Native Method) E/AndroidRuntime(26783): at base.0x319e2c(Native Method) E/AndroidRuntime(26783): at base.0x32cb24(Native Method) E/AndroidRuntime(26783): at base.0xa0ac(Native Method)
Note: output Unity version is marked as 2019.3.x, however, updating to 2019.4.x doesn't resolve the issue.