由于com.android.support:appcompat-v7:23.1.1,在app启动时出现RuntimeException?

时间:2016-02-26 09:43:23

标签: android android-activity appcompat-v7-r23

我崩溃了,在我的应用程序中,我从未设法重现自己,但我知道偶尔会发生这种情况,因为我可以在Google Analytics控制台中看到它。

当用户启动应用程序时发生崩溃。当我在Activity派生类

中调用setContentView时会引发异常
H:0kfgjhA== T:main RuntimeException(Unable to start activity ComponentInfo{com.mydomain·myapp/com.mydomain·myapp.activity.history.HistoryActivit) Cause: NotFoundException(Resource ID #0x7f020134) S:24 00:Resources:android.content.res.Resources.getValue:1274 
01:Resources:android.content.res.Resources.getDrawable:797 
02:Context:android.content.Context.getDrawable:402 
03:ToolbarWidgetWrapper:com.android.internal.widget.ToolbarWidgetWrapper.setIcon:320 
04:ActionBarOverlayLayout:com.android.internal.widget.ActionBarOverlayLayout.setIcon:738 
05:PhoneWindow:com.android.internal.policy.impl.PhoneWindow.setDefaultIcon:1623 
06:Activity:android.app.Activity.initWindowDecorActionBar:2139 
07:Activity:android.app.Activity.setContentView:2154 
09:MyActivity:com.mydomain·myapp.activity.MyActivity.onCreate:121

我在调用setContentView时设置的资源是一个空的FrameLayout

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:id="@+id/content_frame">

</FrameLayout>

Resource类找不到的资源是应用程序图标(ID#0x7f020134)。该图标仅在一个位置引用,并且位于清单文件中

<application
        android:name=".MyApplication"
        android:allowBackup="false"
        android:icon="@drawable/my_launcher_icon"
.../>

在我们加入appcompat支持库v7后,似乎出现了这个缺陷。这是在清单文件(在依赖关系部分)

中完成的
compile 'com.android.support:appcompat-v7:23.1.1'

有谁知道这个问题?我该如何解决?

根据谷歌分析,崩溃似乎只发生在5.0,5.01和5.1.1设备上。而且这不是一次非常频繁的崩溃,而且非常随机。

由于 瑞典奥拉

编辑:

oncreate函数如下所示:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (android.os.Build.VERSION.SDK_INT >= 21) {
        getWindow().requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
    }
    setContentView(R.layout.activity_trackid);
}

1 个答案:

答案 0 :(得分:1)

您可以在应用标记

中添加此行

机器人:主题=&#34; @风格/ AppTheme&#34;

像:

<application
    android:theme="@style/AppTheme" 
    android:name=".MyApplication"
    android:allowBackup="false"
    android:icon="@drawable/my_launcher_icon"

/&GT;