Android 立即响应本机0.60.x应用程序崩溃
在iOS上从0.59.x迁移到0.60.x后,export工作得非常完美,但当我尝试运行Android 立即响应本机0.60.x应用程序崩溃,android,react-native,Android,React Native,在iOS上从0.59.x迁移到0.60.x后,export工作得非常完美,但当我尝试运行react native run android时,它构建成功,但在emulator应用程序中只需打开并关闭,并显示以下消息: 应用程序不断停止 在控制台中,我刚刚 开始:Intent{cmp=com.mycompany/.MainActivity} 它再次显示光标。没有任何错误或消息。我用更新了gradle.properties android.enableJetifier=true android.use
react native run android
时,它构建成功,但在emulator应用程序中只需打开并关闭,并显示以下消息:
应用程序不断停止
在控制台中,我刚刚
开始:Intent{cmp=com.mycompany/.MainActivity}
它再次显示光标。没有任何错误或消息。我用更新了gradle.properties
android.enableJetifier=true
android.useAndroidX=true
此外,root build.gradle还更改了依赖项的类路径:
classpath 'com.android.tools.build:gradle:3.3.0'
在gradle-wrapper.properties中
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip
android.useDeprecatedNdk=true
android.enableJetifier=true
android.useAndroidX=true
我怎样才能修复它,或者只是显示一些错误和调试应用程序崩溃
package.json是这样的:
"dependencies": {
"native-base": "^2.13.8",
"react": "16.6.3",
"react-native": "^0.60.5",
"react-native-gesture-handler": "^1.4.1",
"react-native-svg": "^9.0.7",
"react-native-vector-icons": "^6.2.0",
"react-native-webview": "^7.0.7",
"react-navigation": "^3.0.9",
"react-redux": "^6.0.0",
"redux": "^4.0.1",
"redux-persist": "^5.10.0",
"redux-thunk": "^2.3.0",
"rn-fetch-blob": "^0.10.16"
},
"devDependencies": {
"babel-core": "7.0.0-bridge.0",
"babel-jest": "24.0.0",
"jest": "24.0.0",
"jetifier": "^1.6.4",
"metro-react-native-babel-preset": "0.51.1",
"react-test-renderer": "16.6.3",
"react-timer-mixin": "^0.13.4"
},
"jest": {
"preset": "react-native"
}
我错过了什么
Edit运行后gradlew installDebug--stacktrace
我得到了以下响应:
07:20:21 V/ddms: execute: running am get-config
07:20:21 V/ddms: execute 'am get-config' on 'emulator-5554' : EOF hit. Read: -1
07:20:21 V/ddms: execute: returning
Installing APK 'app-debug.apk' on 'Pixel_2_API_28(AVD) - 9' for app:debug
07:20:21 D/app-debug.apk: Uploading app-debug.apk onto device 'emulator-5554'
07:20:21 D/Device: Uploading file onto device 'emulator-5554'
07:20:21 D/ddms: Reading file permision of /Users/kristian/Documents/Work/Roche/roche-mobile-app/android/app/build/outputs/apk/debug/app-debug.apk as: rw-r--r--
07:20:21 V/ddms: execute: running pm install -r -t "/data/local/tmp/app-debug.apk"
07:20:21 V/ddms: execute 'pm install -r -t "/data/local/tmp/app-debug.apk"' on 'emulator-5554' : EOF hit. Read: -1
07:20:21 V/ddms: execute: returning
07:20:21 V/ddms: execute: running rm "/data/local/tmp/app-debug.apk"
07:20:22 V/ddms: execute 'rm "/data/local/tmp/app-debug.apk"' on 'emulator-5554' : EOF hit. Read: -1
07:20:22 V/ddms: execute: returning
Installed on 1 device.
Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/4.10.1/userguide/command_line_interface.html#sec:command_line_warnings
来自adb logcat的错误帖子
09-20 19:51:02.507 6478 6478 I MicroDetectionWorker: onReady
09-20 19:51:02.508 2061 2294 D EGL_emulation: eglMakeCurrent: 0xebc05600: ver 3 0 (tinfo 0xebc03d10)
09-20 19:51:02.509 6478 16903 I MicrophoneInputStream: mic_close SR : 16000 CC : 16 SO : 6
09-20 19:51:02.509 6478 17179 I MicroRecognitionRunner: Detection finished
09-20 19:51:02.509 6478 17179 W ErrorReporter: reportError [type: 211, code: 524300]: Error reading from input stream
09-20 19:51:02.510 6478 6546 I MicroRecognitionRunner: Stopping hotword detection.
09-20 19:51:02.510 6478 17179 W ErrorProcessor: onFatalError, processing error from engine(4)
09-20 19:51:02.510 6478 17179 W ErrorProcessor: com.google.android.apps.gsa.shared.speech.b.g: Error reading from input stream
09-20 19:51:02.510 6478 17179 W ErrorProcessor: at com.google.android.apps.gsa.staticplugins.microdetection.d.k.a(SourceFile:91)
09-20 19:51:02.510 6478 17179 W ErrorProcessor: at com.google.android.apps.gsa.staticplugins.microdetection.d.l.run(Unknown Source:14)
09-20 19:51:02.510 6478 17179 W ErrorProcessor: at com.google.android.libraries.gsa.runner.a.a.b(SourceFile:32)
09-20 19:51:02.510 6478 17179 W ErrorProcessor: at com.google.android.libraries.gsa.runner.a.c.call(Unknown Source:4)
09-20 19:51:02.510 6478 17179 W ErrorProcessor: at java.util.concurrent.FutureTask.run(FutureTask.java:266)
09-20 19:51:02.510 6478 17179 W ErrorProcessor: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458)
09-20 19:51:02.510 6478 17179 W ErrorProcessor: at java.util.concurrent.FutureTask.run(FutureTask.java:266)
09-20 19:51:02.510 6478 17179 W ErrorProcessor: at com.google.android.apps.gsa.shared.util.concurrent.b.g.run(Unknown Source:4)
09-20 19:51:02.510 6478 17179 W ErrorProcessor: at com.google.android.apps.gsa.shared.util.concurrent.b.aw.run(SourceFile:4)
09-20 19:51:02.510 6478 17179 W ErrorProcessor: at com.google.android.apps.gsa.shared.util.concurrent.b.aw.run(SourceFile:4)
09-20 19:51:02.510 6478 17179 W ErrorProcessor: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
09-20 19:51:02.510 6478 17179 W ErrorProcessor: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
09-20 19:51:02.510 6478 17179 W ErrorProcessor: at java.lang.Thread.run(Thread.java:764)
09-20 19:51:02.510 6478 17179 W ErrorProcessor: at com.google.android.apps.gsa.shared.util.concurrent.b.i.run(SourceFile:6)
09-20 19:51:02.510 6478 17179 W ErrorProcessor: Caused by: com.google.android.apps.gsa.shared.exception.GsaIOException: Error code: 393238 | Buffer overflow, no available space.
09-20 19:51:02.510 6478 17179 W ErrorProcessor: at com.google.android.apps.gsa.speech.audio.Tee.j(SourceFile:103)
09-20 19:51:02.510 6478 17179 W ErrorProcessor: at com.google.android.apps.gsa.speech.audio.au.read(SourceFile:2)
09-20 19:51:02.510 6478 17179 W ErrorProcessor: at java.io.InputStream.read(InputStream.java:101)
09-20 19:51:02.510 6478 17179 W ErrorProcessor: at com.google.android.apps.gsa.speech.audio.ao.run(SourceFile:17)
09-20 19:51:02.510 6478 17179 W ErrorProcessor: at com.google.android.apps.gsa.speech.audio.an.run(SourceFile:2)
09-20 19:51:02.510 6478 17179 W ErrorProcessor: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458)
09-20 19:51:02.510 6478 17179 W ErrorProcessor: ... 10 more
09-20 19:51:02.510 6478 17179 I AudioController: internalShutdown
09-20 19:51:02.512 6478 14804 I DeviceStateChecker: DeviceStateChecker cancelled
终于找到了解决这个问题的方法 步骤1 首先取消所有内容的链接
react-native unlink ...
然后删除节点\u模块并将本机基址
,反应本机
,反应本机手势处理程序
,rn fetch blob
更新为最新版本(如果在package.json中有它们)。安装jetifier
库。然后再次安装节点模块,然后运行
react-native link
步骤2
之后,在android文件夹下的build.graddle上,更改
classPath 'com.android.tools.build:gradle:3.2.1'
进入
并在所有项目/存储库下进行更改
repositories {
mavenLocal()
google()
jcenter()
maven {
url "$rootDir/../node_modules/react-native/android"
}
}
进入
repositories {
mavenLocal()
maven {
url "$rootDir/../node_modules/react-native/android"
}
maven {
url("$rootDir/../node_modules/jsc-android/dist")
}
google()
jcenter()
}
重要必须更改物品的顺序
步骤3
然后下一步是在gradle.properties中添加新行
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip
android.useDeprecatedNdk=true
android.enableJetifier=true
android.useAndroidX=true
步骤4
更改android/app文件夹中的build.gradle,在定义下添加新行:
def useIntlJsc = false
在defaultConfig上方的android块下添加这些行:
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
并在“依赖项”下添加这些行:
if (useIntlJsc) {
implementation 'org.webkit:android-jsc-intl:+'
} else {
implementation 'org.webkit:android-jsc:+'
}
尝试此方法(适用于android)
将cd放入android文件夹
根据您的操作系统运行gradlew clean
或/gradlew clean
现在运行react native run android
它在android中对我有效
尝试此方法(对于ios)
对于iOS,请尝试删除pods文件夹并pod安装
在再次运行应用程序之前,是否尝试卸载该应用程序?是的,我尝试过,相同的结果显示堆栈跟踪。这会告诉你错误是什么。没有这些,我们什么都不能告诉你们。但并没有stacktrace,应用程序立即崩溃,在控制台中,只有一个开始:Intent{cmp=com.mycompany/.MainActivityI用stacktrace的响应编辑了帖子