Java Android 模拟器上的循环错误
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/43164577/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Looping Error on Android Emulator
提问by hewiefreeman
I can't seem to launch any of my apps in my Android emulator because every ~2 seconds this error pops up, and I believe this is making my app crash...
我似乎无法在我的 Android 模拟器中启动我的任何应用程序,因为每隔大约 2 秒就会弹出这个错误,我相信这会使我的应用程序崩溃......
Note: I've never once tried to record audio, which I think it's trying to do... so why is it displaying this? Though I was trying to open a 3D model into JPCT-AE with an inputstream that never worked!
注意:我从来没有尝试过录制音频,我认为它正在尝试这样做......那么为什么它会显示这个?尽管我试图使用从未工作过的输入流将 3D 模型打开到 JPCT-AE 中!
The error:
错误:
04-01 21:02:29.798 2160-2160/com.google.android.googlequicksearchbox:search I/MicroDetectionWorker: Micro detection mode: [mDetectionMode: [1]].
04-01 21:02:29.798 2160-2160/com.google.android.googlequicksearchbox:search I/AudioController: Using mInputStreamFactoryBuilder
04-01 21:02:29.805 2160-3055/com.google.android.googlequicksearchbox:search I/MicroRecognitionRunner: Starting detection.
04-01 21:02:29.805 2160-2204/com.google.android.googlequicksearchbox:search I/MicrophoneInputStream: mic_starting com.google.android.apps.gsa.staticplugins.z.c@652d8ac
04-01 21:02:29.806 1302-1640/? W/APM_AudioPolicyManager: getInputForAttr() failed opening input: samplingRate 16000, format 1, channelMask 10
04-01 21:02:29.806 2160-2204/com.google.android.googlequicksearchbox:search E/AudioRecord: Could not get audio input for session 441, record source 1999, sample rate 16000, format 0x1, channel mask 0x10, flags 0
04-01 21:02:29.807 2160-2204/com.google.android.googlequicksearchbox:search E/AudioRecord-JNI: Error creating AudioRecord instance: initialization check failed with status -22.
04-01 21:02:29.807 2160-2204/com.google.android.googlequicksearchbox:search E/android.media.AudioRecord: Error code -20 when initializing native AudioRecord object.
04-01 21:02:29.807 2160-2204/com.google.android.googlequicksearchbox:search I/MicrophoneInputStream: mic_started com.google.android.apps.gsa.staticplugins.z.c@652d8ac
--------- beginning of system
04-01 21:02:29.808 2160-2204/com.google.android.googlequicksearchbox:search E/ActivityThread: Failed to find provider info for com.google.android.apps.gsa.testing.ui.audio.recorded
04-01 21:02:29.809 2160-2160/com.google.android.googlequicksearchbox:search I/MicroDetectionWorker: onReady
04-01 21:02:29.844 2160-2204/com.google.android.googlequicksearchbox:search I/MicrophoneInputStream: mic_close com.google.android.apps.gsa.staticplugins.z.c@652d8ac
04-01 21:02:29.844 2160-3055/com.google.android.googlequicksearchbox:search I/MicroRecognitionRunner: Detection finished
04-01 21:02:29.844 2160-3055/com.google.android.googlequicksearchbox:search W/ErrorReporter: reportError [type: 211, code: 524300]: Error reading from input stream
04-01 21:02:29.845 2160-2353/com.google.android.googlequicksearchbox:search I/MicroRecognitionRunner: Stopping hotword detection.
04-01 21:02:29.846 2160-3055/com.google.android.googlequicksearchbox:search W/ErrorProcessor: onFatalError, processing error from engine(4)
com.google.android.apps.gsa.shared.speech.a.g: Error reading from input stream
at com.google.android.apps.gsa.staticplugins.recognizer.i.a.a(SourceFile:342)
at com.google.android.apps.gsa.staticplugins.recognizer.i.a.run(SourceFile:1367)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at com.google.android.apps.gsa.shared.util.concurrent.a.ak.run(SourceFile:66)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
at com.google.android.apps.gsa.shared.util.concurrent.a.ad.run(SourceFile:85)
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.g(SourceFile:2531)
at com.google.android.apps.gsa.speech.audio.ap.read(SourceFile:555)
at java.io.InputStream.read(InputStream.java:101)
at com.google.android.apps.gsa.speech.audio.al.run(SourceFile:362)
at com.google.android.apps.gsa.speech.audio.ak.run(SourceFile:471)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at com.google.android.apps.gsa.shared.util.concurrent.a.ak.run(SourceFile:66)
at com.google.android.apps.gsa.shared.util.concurrent.a.ax.run(SourceFile:139)
at com.google.android.apps.gsa.shared.util.concurrent.a.ax.run(SourceFile:139)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)?
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)?
at java.lang.Thread.run(Thread.java:761)?
at com.google.android.apps.gsa.shared.util.concurrent.a.ad.run(SourceFile:85)?
04-01 21:02:29.846 2160-3055/com.google.android.googlequicksearchbox:search I/AudioController: internalShutdown
04-01 21:02:29.847 2160-2160/com.google.android.googlequicksearchbox:search I/MicroDetector: Keeping mic open: false
04-01 21:02:29.847 2160-2160/com.google.android.googlequicksearchbox:search I/MicroDetectionWorker: #onError(false)
04-01 21:02:29.847 2160-3054/com.google.android.googlequicksearchbox:search I/DeviceStateChecker: DeviceStateChecker cancelled
As I said before, this is popping up every ~2 seconds... What could be causing this? I've tried to restart the emulator multiple times and this keeps coming up!!
正如我之前所说,这每隔大约 2 秒就会弹出一次......这可能是什么原因造成的?我试过多次重新启动模拟器,这一直出现!!
EDIT: I've also deleted and recreated the emulator and still same errors
编辑:我也删除并重新创建了模拟器,但仍然存在相同的错误
Please help me!! Thanks to all in advance :)
请帮我!!提前感谢大家:)
采纳答案by Yusuf X
Android is trying to listen on the microphone, which isn't available on the emulator, so it fills logcat with useless stack traces. To stop this, go to the Settings app in Android, and click:
Android 正在尝试监听麦克风,这在模拟器上不可用,因此它用无用的堆栈跟踪填充 logcat。要停止此操作,请转到 Android 中的“设置”应用,然后单击:
- Apps and notifications
- App permissions
- Microphone
- 应用程序和通知
- 应用权限
- 麦克风
Then disallow microphone use for all the apps.
然后禁止所有应用程序使用麦克风。
回答by Florin Dobre
In my case I fixed this first time by adding:
在我的情况下,我第一次通过添加以下内容来解决这个问题:
<uses-permission android:name="android.permission.RECORD_AUDIO" />
in AndroidManifest.xml
在AndroidManifest.xml 中
and updating the google.android.gms packages used in the project to the latest version in build.gradlefile:
并将项目中使用的 google.android.gms 包更新到build.gradle文件中的最新版本:
compile('com.google.android.gms:play-services-analytics:11.0.4') {
force = true;
}
compile('com.google.android.gms:play-services-ads:11.0.4') {
force = true;
}
compile('com.google.android.gms:play-services-gcm:11.0.4') {
force = true;
}
UPDATE:
Later, after an update of RN from 0.45 RN to 0.53 I found that the RECORD_AUDIO can be removed (if not used) with adding play-services-location
and the play-services-base
as below:
UPDATE:后来,RN的从0.45到RN 0.53更新后我发现RECORD_AUDIO可被移除(如果未使用)与添加play-services-location
和play-services-base
如下:
compile('com.google.android.gms:play-services-analytics:11.0.4') {
force = true;
}
compile('com.google.android.gms:play-services-ads:11.0.4') {
force = true;
}
compile('com.google.android.gms:play-services-gcm:11.0.4') {
force = true;
}
compile('com.google.android.gms:play-services-location:11.0.4') {
force = true;
}
compile('com.google.android.gms:play-services-base:11.0.4') {
force = true;
}
回答by ooi
That com.google.android.googlequicksearchbox
is Google app.
那com.google.android.googlequicksearchbox
是谷歌应用程序。
Simply disabling it in Settings worked for me.
只需在“设置”中禁用它对我有用。
回答by 1nullpointer
Although disabling Microphone removed some of the errors , Disabling Quick Search App worked for me as suggested by OOI .
尽管禁用麦克风消除了一些错误,但按照 OOI 的建议,禁用快速搜索应用程序对我有用。
Settings >> Apps & Notifications >> All Apps >> Google
设置 >> 应用和通知 >> 所有应用 >> Google
回答by atyachin
Here's how to disable the hotword detection ("Ok Google") app in the emulator:
以下是在模拟器中禁用启动指令检测(“Ok Google”)应用的方法:
./adb shell "su root pm disable com.google.android.googlequicksearchbox"