发布应用程序始终在启动屏幕上崩溃

时间:2018-07-26 14:26:15

标签: android ios react-native visual-studio-app-center

我正面临React Native发布版本的问题。在iPhone或Android上,我的应用程序都可以在调试模式下正常运行,但是在使用发布配置进行构建后,该应用程序始终在启动屏幕上崩溃。

在Android上,我在由WebSocketReader.java触发的日志中获取了OutOfMemory。这是Android日志:

07-26 10:57:18.639  5893  7623 E AndroidRuntime: FATAL EXCEPTION: OkHttp Dispatcher
07-26 10:57:18.639  5893  7623 E AndroidRuntime: Process: com.schooltoring, PID: 5893
07-26 10:57:18.639  5893  7623 E AndroidRuntime: java.lang.OutOfMemoryError: Failed to allocate a 10628794 byte allocation with 4409280 free bytes and 4MB until OOM
07-26 10:57:18.639  5893  7623 E AndroidRuntime:    at java.lang.StringFactory.newStringFromBytes(StringFactory.java:79)
07-26 10:57:18.639  5893  7623 E AndroidRuntime:    at java.lang.StringFactory.newStringFromBytes(StringFactory.java:207)
07-26 10:57:18.639  5893  7623 E AndroidRuntime:    at okio.Buffer.readString(Buffer.java:620)
07-26 10:57:18.639  5893  7623 E AndroidRuntime:    at okio.Buffer.readUtf8(Buffer.java:591)
07-26 10:57:18.639  5893  7623 E AndroidRuntime:    at okhttp3.internal.ws.WebSocketReader.readMessageFrame(WebSocketReader.java:222)
07-26 10:57:18.639  5893  7623 E AndroidRuntime:    at okhttp3.internal.ws.WebSocketReader.processNextFrame(WebSocketReader.java:101)
07-26 10:57:18.639  5893  7623 E AndroidRuntime:    at okhttp3.internal.ws.RealWebSocket.loopReader(RealWebSocket.java:262)
07-26 10:57:18.639  5893  7623 E AndroidRuntime:    at okhttp3.internal.ws.RealWebSocket$2.onResponse(RealWebSocket.java:201)
07-26 10:57:18.639  5893  7623 E AndroidRuntime:    at okhttp3.RealCall$AsyncCall.execute(RealCall.java:135)
07-26 10:57:18.639  5893  7623 E AndroidRuntime:    at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
07-26 10:57:18.639  5893  7623 E AndroidRuntime:    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
07-26 10:57:18.639  5893  7623 E AndroidRuntime:    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
07-26 10:57:18.639  5893  7623 E AndroidRuntime:    at java.lang.Thread.run(Thread.java:762)

完整日志:https://gist.github.com/SLedunois/7d801cb0e55f2ae98bdbc054b0a84e61(对不起,该链接。崩溃报告太长,无法包含在正文中)

在iPhone上,我不太了解崩溃报告。我是iOS开发的新手。这是iOS崩溃报告:

https://gist.github.com/SLedunois/76eaa85dfebb2ceff1f97cb4723989f1

我认为,该错误是由于:

Thread 12 Crashed:
0   libsystem_kernel.dylib          0x00000001815192ec __pthread_kill + 8
1   libsystem_pthread.dylib         0x00000001816ba288 pthread_kill$VARIANT$mp + 376
2   libsystem_c.dylib               0x0000000181487d0c abort + 140
3   Schooltoring                    0x0000000100ccc734 0x100c78000 + 345908
4   CoreFoundation                  0x0000000181a931c8 __handleUncaughtException + 828
5   libobjc.A.dylib                 0x0000000180c4c8c8 _objc_terminate+ 35016 () + 112
6   Schooltoring                    0x0000000100cb090c 0x100c78000 + 231692
7   libc++abi.dylib                 0x0000000180c3d37c std::__terminate(void (*)+ 111484 ()) + 16
8   libc++abi.dylib                 0x0000000180c3cccc __cxxabiv1::exception_cleanup_func+ 109772 (_Unwind_Reason_Code, _Unwind_Exception*) + 0
9   libobjc.A.dylib                 0x0000000180c4c720 _objc_exception_destructor+ 34592 (void*) + 0
10  Schooltoring                    0x0000000100d61af0 0x100c78000 + 957168
11  Schooltoring                    0x0000000100d61638 0x100c78000 + 955960
12  libdispatch.dylib               0x0000000181384aa0 _dispatch_call_block_and_release + 24
13  libdispatch.dylib               0x0000000181384a60 _dispatch_client_callout + 16
14  libdispatch.dylib               0x000000018138e9b4 _dispatch_queue_serial_drain$VARIANT$mp + 608
15  libdispatch.dylib               0x000000018138f2fc _dispatch_queue_invoke$VARIANT$mp + 336
16  libdispatch.dylib               0x000000018138fcc8 _dispatch_root_queue_drain_deferred_wlh$VARIANT$mp + 340
17  libdispatch.dylib               0x0000000181398098 _dispatch_workloop_worker_thread$VARIANT$mp + 668
18  libsystem_pthread.dylib         0x00000001816b7e70 _pthread_wqthread + 860
19  libsystem_pthread.dylib         0x00000001816b7b08 start_wqthread + 4

我所有的版本都配置为签名。

有人遇到类似的问题吗?

2 个答案:

答案 0 :(得分:0)

尝试在应用程序下的清单中添加android:largeHeap="true"

例如<application android:label="YourApp" android:largeHeap="true"></application>

答案 1 :(得分:0)

找到解决方案。由于应用程序中使用的静态图像太大,因此触发了错误。

有关更多说明,请参见https://facebook.github.io/react-native/docs/images