I have project which is using react-native version 0.43.4
.
According to Google Play's target API level requirement I had to update targetSdkVersion
in Android app to version 26
or later. I have set it to 27 (also compileSdkVersion
and buildToolsVersion
). It runs fine on Android 7 or previous versions, but on any other emulator with Android 8 or later, app keeps stopping.(I didn't test it on physical device, since I don't have a phone with android). The is no compilation errors in the console or Android studio. Any clues what could cause my problem?
here is my build.gradle
content:
android {
compileSdkVersion 27
buildToolsVersion "27.0.3"
defaultConfig {
applicationId "example"
minSdkVersion 16
targetSdkVersion 27
versionCode 49
versionName "2.1.5"
multiDexEnabled false
ndk {
abiFilters "armeabi-v7a", "x86"
}
...
}
deps:
dependencies {
compile project(':appcenter-crashes')
compile project(':appcenter-analytics')
compile project(':appcenter')
// compile project(':react-native-webrtc')
compile project(':react-native-udp')
compile project(':react-native-tcp')
// compile project(':react-native-send-intent')
compile project(':react-native-randombytes')
compile project(':react-native-maps')
// compile project(':react-native-mail')
compile fileTree(dir: "libs", include: ["*.jar"])
compile "com.facebook.react:react-native:+" // From node_modules
compile project(':react-native-navigation')
compile "com.android.support:appcompat-v7:27.+"
compile 'com.google.firebase:firebase-core:10.0.1'
compile project(':RNSendIntentModule')
compile project(':react-native-photo-view')
compile project(':WebRTCModule')
compile project(':react-native-incall-manager')
compile project(':react-native-orientation')
compile project(':react-native-vector-icons')
compile project(':react-native-flag-secure-android')
compile project(':RNMail')
compile project(':react-native-image-picker')
compile project(':react-native-device-info')
compile project(':react-native-fcm')
compile(project(':react-native-maps')){
exclude group: 'com.google.android.gms'
}
compile ("com.google.android.gms:play-services-base:10.0.1") {
force = true;
}
compile ("com.google.android.gms:play-services-maps:10.0.1") {
force = true;
}
compile ("com.google.android.gms:play-services-gcm:10.0.1") {
force = true;
}
compile ('com.google.firebase:firebase-core:10.0.1') {
force = true;
}
compile ('com.google.firebase:firebase-messaging:10.0.1') {
force = true;
}
Logcat logs from emulator device:
08-02 07:48:11.726 1530-1965/? E/AudioFlinger: createRecordTrack_l() initCheck failed -12; no control block?
08-02 07:48:11.726 2328-4926/com.google.android.googlequicksearchbox:search E/AudioRecord: AudioFlinger could not create record track, status: -12
08-02 07:48:11.728 2328-4926/com.google.android.googlequicksearchbox:search E/AudioRecord-JNI: Error creating AudioRecord instance: initialization check failed with status -12.
08-02 07:48:11.729 2328-4926/com.google.android.googlequicksearchbox:search E/android.media.AudioRecord: Error code -20 when initializing native AudioRecord object.
08-02 07:48:11.729 2328-4926/com.google.android.googlequicksearchbox:search I/MicrophoneInputStream: mic_started com.google.android.apps.gsa.staticplugins.aa.c@a65bd99
08-02 07:48:11.732 2328-2328/com.google.android.googlequicksearchbox:search I/MicroDetectionWorker: onReady
08-02 07:48:11.736 2328-4926/com.google.android.googlequicksearchbox:search I/MicrophoneInputStream: mic_close com.google.android.apps.gsa.staticplugins.aa.c@a65bd99
08-02 07:48:11.736 2328-4931/com.google.android.googlequicksearchbox:search I/MicroRecognitionRunner: Detection finished
08-02 07:48:11.737 2328-4931/com.google.android.googlequicksearchbox:search W/ErrorReporter: reportError [type: 211, code: 524300]: Error reading from input stream
08-02 07:48:11.737 2328-2682/com.google.android.googlequicksearchbox:search I/MicroRecognitionRunner: Stopping hotword detection.
08-02 07:48:11.737 2328-4931/com.google.android.googlequicksearchbox:search W/ErrorProcessor: onFatalError, processing error from engine(4)
com.google.android.apps.gsa.shared.speech.b.g: Error reading from input stream
at com.google.android.apps.gsa.staticplugins.recognizer.j.a.a(SourceFile:28)
at com.google.android.apps.gsa.staticplugins.recognizer.j.b.run(SourceFile:15)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at com.google.android.apps.gsa.shared.util.concurrent.a.ag.run(Unknown Source:4)
at com.google.android.apps.gsa.shared.util.concurrent.a.bo.run(SourceFile:4)
at com.google.android.apps.gsa.shared.util.concurrent.a.bo.run(SourceFile:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
at com.google.android.apps.gsa.shared.util.concurrent.a.ak.run(SourceFile:6)
Caused by: com.google.android.apps.gsa.shared.exception.GsaIOException: Error code: 393238 | Buffer overflow, no available space.
at com.google.android.apps.gsa.speech.audio.Tee.f(SourceFile:103)
at com.google.android.apps.gsa.speech.audio.au.read(SourceFile:2)
at java.io.InputStream.read(InputStream.java:101)
at com.google.android.apps.gsa.speech.audio.ao.run(SourceFile:18)
at com.google.android.apps.gsa.speech.audio.an.run(SourceFile:2)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at com.google.android.apps.gsa.shared.util.concurrent.a.ag.run(Unknown Source:4)
at com.google.android.apps.gsa.shared.util.concurrent.a.bo.run(SourceFile:4)
at com.google.android.apps.gsa.shared.util.concurrent.a.bo.run(SourceFile:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
at com.google.android.apps.gsa.shared.util.concurrent.a.ak.run(SourceFile:6)
08-02 07:48:11.737 2328-4931/com.google.android.googlequicksearchbox:search I/AudioController: internalShutdown
08-02 07:48:11.770 2328-2328/com.google.android.googlequicksearchbox:search I/MicroDetector: Keeping mic open: false
08-02 07:48:11.770 2328-2328/com.google.android.googlequicksearchbox:search I/MicroDetectionWorker: #onError(false)
08-02 07:48:11.771 2328-5919/com.google.android.googlequicksearchbox:search I/DeviceStateChecker: DeviceStateChecker cancelled
08-02 07:48:15.390 1437-1454/? D/hwcomposer: hw_composer sent 354 syncs in 60s
08-02 07:48:16.779 2328-2328/com.google.android.googlequicksearchbox:search I/MicroDetectionWorker: #updateMicroDetector [detectionMode: [mDetectionMode: [1]]]
08-02 07:48:16.780 2328-2328/com.google.android.googlequicksearchbox:search I/MicroDetectionWorker: #startMicroDetector [speakerMode: 0]
08-02 07:48:16.780 2328-2328/com.google.android.googlequicksearchbox:search I/AudioController: Using mInputStreamFactoryBuilder
08-02 07:48:16.782 2328-2328/com.google.android.googlequicksearchbox:search I/MicroDetectionWorker: onReady
08-02 07:48:16.783 2328-5919/com.google.android.googlequicksearchbox:search I/MicroRecognitionRunner: Starting detection.
08-02 07:48:16.784 2328-4926/com.google.android.googlequicksearchbox:search I/MicrophoneInputStream: mic_starting com.google.android.apps.gsa.staticplugins.aa.c@dc18127
08-02 07:48:16.786 1530-7272/? I/AudioFlinger: AudioFlinger's thread 0xe6793040 tid=7272 ready to run
08-02 07:48:16.788 1530-6826/? E/AudioFlinger: not enough memory for AudioTrack size=131296
08-02 07:48:16.788 1530-6826/? D/MemoryDealer: AudioTrack (0xeaaff2c0, size=4194304)
0: 0xeaaff340 | 0x00000000 | 0x000200E0 | A
1: 0xeaaff360 | 0x000200E0 | 0x000200E0 | A
2: 0xeaaff6b0 | 0x000401C0 | 0x000200E0 | A
3: 0xeaaff840 | 0x000602A0 | 0x000200E0 | A
4: 0xeaaff9b0 | 0x00080380 | 0x000200E0 | A
5: 0xeaaffb90 | 0x000A0460 | 0x000200E0 | A
6: 0xeaaffcf0 | 0x000C0540 | 0x000200E0 | A
7: 0xeaafff10 | 0x000E0620 | 0x000200E0 | A
8: 0xeaaff190 | 0x00100700 | 0x000200E0 | A
9: 0xe95fd1b0 | 0x001207E0 | 0x000200E0 | A
10: 0xeac995c0 | 0x001408C0 | 0x000200E0 | A
11: 0xeac99790 | 0x001609A0 | 0x000200E0 | A
12: 0xe95fd3a0 | 0x00180A80 | 0x000200E0 | A
13: 0xeac99800 | 0x001A0B60 | 0x000200E0 | A
14: 0xeaaff070 | 0x001C0C40 | 0x000200E0 | A
15: 0xe95fd6d0 | 0x001E0D20 | 0x000200E0 | A
16: 0xe95fd8d0 | 0x00200E00 | 0x000200E0 | A
17: 0xeac99b70 | 0x00220EE0 | 0x000200E0 | A
18: 0xeac99cc0 | 0x00240FC0 | 0x000200E0 | A
19: 0xe95fdac0 | 0x002610A0 | 0x000200E0 | A
and another logs:
08-02 08:27:38.872 2185-7335/com.google.android.gms.persistent E/WakeLock: release without a matched acquire!
08-02 08:27:38.875 1664-1679/system_process E/memtrack: Couldn't load memtrack module
As refered to this link, this might be happen due to file access functionality. If your targetSdkVersion
is above 24, you need to use FileProvider class to give access to any file. You can refer this link for more details.
User contributions licensed under CC BY-SA 3.0