簡體   English   中英

在android上使用react-native的空白白屏(僅限發布)

[英]Blank white screen on android using react-native (release only)

我的應用程序在調試模式下在模擬器上運行正常。 當我嘗試在設備上使用已簽名的APK或在模擬器上以釋放模式運行時使用:

react-native run-android --variant=release

它只是一個空白的白色屏幕,不加載。

我正在使用React-Native-Navigation和React-Native-Firebase,這可能會也可能不會導致問題。

我看到的一個錯誤與我認為的Firebase有關:

W / GooglePlayServicesUtil:Google Play服務已過期。 需要11717000但是發現10298470 11-20 11:24:04.624 16106-16106 /? W / FA:

failed to send app launch肯定看起來不祥。

編輯:我不確定上面的錯誤實際上是在我的設備上運行發布版本時導致空白屏幕。 此消息顯示在模擬器中,但我的應用程序在模擬器上工作。 在我的設備上,我看到Google Play服務的版本是11.7.46,我認為應該可以正常使用。

還有什么能讓我的應用只在發布時成為空白屏幕嗎?

編輯2:

我這次發現了另一個錯誤(我已經降級到了舊版本的react-native-firebase 2.2)

11-25 12:11:07.278 5281-5295 / com.spectrum E / FirebaseCrash:無法加載崩潰報告com.google.android.gms.internal.mn:..com.google.android.gms.dynamite.DynamiteModule $ zzc :遠程加載失敗。 沒有發現本地回退。 來自com.google.fire.firebase.crash.zzc.zzFi(未知來源)的com.google.android.gms.internal.ml.zzFk(未知來源),位於java.util.concurrent.FutureTask.run(FutureTask.java:237) )java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:588)at java.lang.Thread.run(Thread.java: 818)由以下原因引起:com.google.android.gms.dynamite.DynamiteModule $ zzc:遠程加載失敗。 沒有發現本地回退。 ...

編輯3:

這是來自app.gradle的依賴app.gradle

dependencies {
compile fileTree(dir: "libs", include: ["*.jar"])
compile "com.android.support:appcompat-v7:25.0.1"
compile "com.facebook.react:react-native:+"  // From node_modules
compile project(':react-native-navigation')

// RNFirebase required dependencies
compile(project(':react-native-firebase')) {
    transitive = false
}
compile "com.google.firebase:firebase-core:11.0.4"

// RNFirebase optional dependencies
compile "com.google.firebase:firebase-crash:11.0.4"
compile "com.google.firebase:firebase-messaging:11.0.4"

// If you are receiving Google Play API availability issues, add the     following dependency
//    compile "com.google.android.gms:play-services-base:11.0.4"

}

正如錯誤所說:

Google Play服務已過期。 需要11717000但找到10298470

這意味着您有不同版本的Google Play服務。 假設您使用的是Firebase 11.6.0的最新Firebase 11.6.0 ,但您使用的是Google Play Services版本10.2.9,所需版本為11.7.1。

從Firebase文檔(在先決條件中):

運行Android 4.0(Ice Cream Sandwich)或更新版本以及Google Play服務11.6.0或更高版本的設備

因此,您需要下載最新版本的Google Play服務,或者在build.gradle文件中降級build.gradle

您目前擁有此版本的firebase:

'com.google.firebase:firebase-core:11.6.0'

降級(也許)到:

'com.google.firebase:firebase-core:10.2.0'

如果你降級firebase-core ,那么你還必須降級(在build.gradle中)firebase firebase-auth / firebase firebase-storage / firebase-database

當您看到日志時,Google Play服務已過期。 需要11717000但找到10298470,它表明此錯誤伴隨舊的播放服務。

當前版本是11.6.0,因此您需要更新build.gradle文件並同步。

'com.google.firebase:firebase-core:11.6.0'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM