2016-09-03 77 views
7

如果簽名和發佈,React Native App崩潰。在調試模式下工作正常。它不會在屏幕上引發任何錯誤。它只是崩潰。當我看着貓的日誌。沒有錯誤。如果簽名和發佈,React Native應用程序崩潰。在調試模式下正常工作

我也嘗試使用--info構建apk,但在崩潰時沒有其他信息。我也嘗試通過設置minifyEnabled false來構建APK。

當通過USB連接手機以調試模式運行應用程序時,它可以正常工作。 我試圖用--debug創建apk,但是我無法安裝它,我的手機,它說解析錯誤,當我嘗試使用應用程序安裝程序進行安裝。

我得到了以下logcat錯誤。這是什麼意思?

09-03 11:03:07.968 W/ActivityManager(1344): Force finishing activity com.myapp/.MainActivity 


09-03 11:03:08.012 W/BroadcastQueue(1344): Skipping deliver [background] BroadcastRecord{cb72147 u-1 android.net.conn.CONNECTIVITY_CHANGE} to ReceiverList{7bf2161 22421 com.myapp/10100/u0 remote:b9cdcc8}: process crashing 

09-03 11:03:08.035 W/ActivityManager(1344): Dismiss app error dialog : com.myapp 


09-03 11:03:13.095 I/WindowState(1344): WIN DEATH: Window{3f22c22 u0 /com.myapp.MainActivity} 
+0

你有沒有試過運行你沒有鉻調試模式的應用程序? – Xeijp

+0

@Xeijp你的意思是使用react-native run-android --variant = release?我試過了,它不起作用。如果我做了反應原生run-android --variant = debug,它工作正常。 – user43286

+0

@Xeijp如果應用程序崩潰,在Windows桌面操作系統中,我們可以在應用程序事件中看到一些堆棧跟蹤。 Android中有這樣的東西嗎? – user43286

回答

1

我終於找到原因了。有一個叫做react-native-material-design-searchbar的模塊導致了這個問題。奇怪的部分是,如果直接從該模塊複製SearchBar.js並使用它即使在發佈時也可以正常工作,但如果使用模塊作爲直接導入,則它不能僅在發佈模式下工作。太奇怪了。 SearchBar是好的,所以現在我通過將文件複製到我的項目中直接使用。

+9

我有同樣的問題,但原因可能是不同的庫。你能解釋你如何設法調試並找出根本原因嗎? – stilllife

2

由於我對反應本土的經驗,我曾經得到像你一樣的錯誤。爲了解決這個問題,我只是按照文件行一行,它工作正常...

建設發佈應用程序,你需要先簽署apk。在那之後只需要運行

./gradlew assembleRelease

到發佈的應用程序安裝到手機上。

Doc Here

+1

我確實按照文檔行。雖然有一個區別,但是我的解決方案中的文件gradle.properties位於android/app下,而不是位於andraid/app /〜/ .gradle/gradle.properties下。我認爲這不是一個問題,因爲我有另一個示例應用程序,它的功能相同,並且在發行版中起作用。但我的工作不正常。我怎樣才能調試呢?我怎麼知道這個錯誤?我可以使用任何日誌工具? Catlog無法正常工作,它需要root訪問權限,我無法根據我的電話。 – user43286

0

我通過卸載uglifyjs修復了這個錯誤並重新安裝了最新的(使用NPM)。

相關問題