【问题标题】:Your app has stopped您的应用已停止
【发布时间】:2017-03-30 04:15:30
【问题描述】:

我一直在 android studio 中开发一个简单的应用程序,但是当我尝试运行它时,我的应用程序不断崩溃。堆栈跟踪:

03-29 23:32:34.720 2130-2206/com.google.android.googlequicksearchbox:search 
E/AudioRecord: Could not get audio input for session 4801, record source 
1999, sample rate 16000, format 0x1, channel mask 0x10, flags 0
03-29 23:32:34.720 2130-2206/com.google.android.googlequicksearchbox:search 
E/AudioRecord-JNI: Error creating AudioRecord instance: initialization check 
failed with status -22.
03-29 23:32:34.720 2130-2206/com.google.android.googlequicksearchbox:search 
E/android.media.AudioRecord: Error code -20 when initializing native 
AudioRecord object.
03-29 23:32:34.721 2130-2206/com.google.android.googlequicksearchbox:search 
E/ActivityThread: Failed to find provider info for 
com.google.android.apps.gsa.testing.ui.audio.recorded

: 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$1.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$1.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$1.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$1.run(SourceFile:85) 

我不明白为什么会这样,我从不尝试在我的应用中使用麦克风或任何与音频相关的东西。

这是我的 AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.nick.project2" >

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme" >
    <activity android:name=".MainActivity" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

</manifest>

在调试我的 MainActivity.java 时,这是崩溃的代码块:

    public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    getFragmentManager().beginTransaction().add(R.id.professorContainer, myTeacher).commit();

    //Check to see if we should get the layout for a phone or a tablet
    if(findViewById(R.id.professorContainer) != null){
        //
        getFragmentManager().beginTransaction().add(R.id.professorContainer, myTeacher);
    }


}

它在 onCreate 方法的第三行崩溃,“getFragmentManager()....”

【问题讨论】:

  • 在崩溃的地方显示你的代码和行?
  • 你可能应该在它运行时尝试查看日志,如果它说你的应用程序已经停止,那么应该有一个崩溃堆栈跟踪,你可以分析它以找出发生了什么。
  • 您给出的这些错误与您的应用无关
  • @cricket_007 如果它们使我的应用程序崩溃,它们如何与我的应用程序无关??
  • @Nick 您的应用程序可能会崩溃,但这与您在上面发布的内容无关,除非您正在为 Google 开发

标签: java android


【解决方案1】:

我猜你的布局中可能有一些快速搜索小部件。 Quicksearch 使用需要录音权限的谷歌语音识别 API。添加该权限。

<uses-permission android:name="android.permission.RECORD_AUDIO" />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-28
    • 2017-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-17
    • 1970-01-01
    相关资源
    最近更新 更多