首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android上的空白白屏幕使用react-本机(仅发布)

android上的空白白屏幕使用react-本机(仅发布)
EN

Stack Overflow用户
提问于 2017-11-20 19:57:49
回答 2查看 3K关注 0票数 7

在调试模式下,我的应用程序在模拟器上运行得很好。当我试图在设备上使用签名的APK或在模拟器上以发布模式运行它时,使用:

代码语言:javascript
复制
react-native run-android --variant=release

它只是提供一个空白的白色屏幕,不加载。

我使用的反应-本机-导航和反应-本机-火基,这可能是或不可能造成的问题。

我看到的一个错误与Firebase有关,我认为:

W/GooglePlayServicesUtil: Google Play服务过时。需要11717000,但找到10298470 11-20 11:24:04.624 16106-16106/?W/FA:

failed to send app launch确实看上去不祥。

编辑:在我的设备上运行发布版本时,我不太确定上面的错误是否真的导致了空白的白色屏幕。此消息显示在模拟器中,但我的应用程序在模拟器上工作。在我的设备上,我看到Google服务的版本是11.7.46,我认为它应该可以正常工作。

还有什么会使我的应用程序在发布时变成一个空白的白屏吗?

编辑2:

这次我发现了另一个错误(从那以后,我已经降级为一个更旧版本的react-本机--FireBase2.2)。

11-25 12:11:07.278 5281-5295/com.谱E/FirebaseCrash:未能加载崩溃报告com.google.android.gms.internal.mn: com.google.android.gms.internal.mn远程加载失败。没有发现当地的退路。( com.google.android.gms.internal.ml.zzFk(Unknown来源)在com.google.firebase.crash.zzc.zzFi(未知来源)在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)由: com.google.android.gms.dynamite.DynamiteModule$zzc:远程加载导致的java.lang.Thread.run(Thread.java:818)失败。没有发现当地的退路。..。

编辑3:

下面是来自app.gradle的依赖关系:

代码语言:javascript
复制
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"

}
EN

回答 2

Stack Overflow用户

发布于 2017-11-24 21:00:47

正如错误说的那样:

谷歌播放的服务已经过时。需要11717000,但找到10298470

这意味着你有一个不同版本的google服务。I将假设您使用的是最新的防火墙,即Firebase 11.6.0,但是您使用的是Google服务版本10.2.9,所需的版本是11.7.1。

来自Firebase文档(在先决条件中):

运行Android 4.0 (冰淇淋三明治)或更高版本的设备,以及Google服务11.6.0或更高版本

因此,您要么需要下载最新版本的Google服务,要么需要降低build.gradle文件中的防火墙级别

您现在有这个版本的firebase:

代码语言:javascript
复制
'com.google.firebase:firebase-core:11.6.0'

降级(可能)为:

代码语言:javascript
复制
'com.google.firebase:firebase-core:10.2.0'

如果您降低了firebase-auth/firebase-storage/firebase-database的评级,那么您也必须降低(在build.gradle中)

票数 3
EN

Stack Overflow用户

发布于 2017-11-25 10:36:03

正如你看到的日志,谷歌播放的服务过时了。需要11717000,但发现10298470,这表明此错误与旧的播放服务。

当前版本为11.6.0,因此需要更新build.gradle文件和同步。

代码语言:javascript
复制
'com.google.firebase:firebase-core:11.6.0'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47400050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档