Android failed creating starting window

简介: /***************************************************************************** * Android failed creating starting window * 声明: * 最近正在整的一个App在logcat中总是报这种异常,貌似也不影响程序的运行,但 * 每次都看到这种异常实在是难受,于是还是查点资料解决了去吧。
/*****************************************************************************
 *               Android failed creating starting window
 * 声明:
 *     最近正在整的一个App在logcat中总是报这种异常,貌似也不影响程序的运行,但
 * 每次都看到这种异常实在是难受,于是还是查点资料解决了去吧。
 *
 *                                           2016-5-5 深圳 南山平山村 曾剑锋
 ****************************************************************************/

一、参考文章:
    已解决_Android_Caused by: android.content.res.Resources$NotFoundException: Resource is not a Drawable (
        http://blog.csdn.net/tianshanaoxue/article/details/16806283

二、error:
    W/WindowManager( 2520): Token{4116dcf8 ActivityRecord{410d1f00 u0 com.aplex.ethernet/.MainActivity}} failed creating starting window
    W/WindowManager( 2520): android.view.InflateException: Binary XML file line #34: Error inflating class <unknown>
    W/WindowManager( 2520):         at android.view.LayoutInflater.createView(LayoutInflater.java:613)
    W/WindowManager( 2520):         at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
    W/WindowManager( 2520):         at android.view.LayoutInflater.onCreateView(LayoutInflater.java:660)
    W/WindowManager( 2520):         at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685)
    W/WindowManager( 2520):         at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
    W/WindowManager( 2520):         at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
    W/WindowManager( 2520):         at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
    W/WindowManager( 2520):         at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
    W/WindowManager( 2520):         at com.android.internal.policy.impl.PhoneWindow.generateLayout(PhoneWindow.java:2812)
    W/WindowManager( 2520):         at com.android.internal.policy.impl.PhoneWindow.installDecor(PhoneWindow.java:2875)
    W/WindowManager( 2520):         at com.android.internal.policy.impl.PhoneWindow.getDecorView(PhoneWindow.java:1568)
    W/WindowManager( 2520):         at com.android.internal.policy.impl.PhoneWindowManager.addStartingWindow(PhoneWindowManager.java:1591)
    W/WindowManager( 2520):         at com.android.server.wm.WindowManagerService$H.handleMessage(WindowManagerService.java:7450)
    W/WindowManager( 2520):         at android.os.Handler.dispatchMessage(Handler.java:99)
    W/WindowManager( 2520):         at android.os.Looper.loop(Looper.java:137)
    W/WindowManager( 2520):         at android.os.HandlerThread.run(HandlerThread.java:60)
    W/WindowManager( 2520): Caused by: java.lang.reflect.InvocationTargetException
    W/WindowManager( 2520):         at java.lang.reflect.Constructor.constructNative(Native Method)
    W/WindowManager( 2520):         at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
    W/WindowManager( 2520):         at android.view.LayoutInflater.createView(LayoutInflater.java:587)
    W/WindowManager( 2520):         ... 15 more
    W/WindowManager( 2520): Caused by: android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x2/d=0x1010059 a=-1}
    W/WindowManager( 2520):         at android.content.res.Resources.loadDrawable(Resources.java:1927)
    W/WindowManager( 2520):         at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
    W/WindowManager( 2520):         at android.widget.FrameLayout.<init>(FrameLayout.java:109)
    W/WindowManager( 2520):         at android.widget.FrameLayout.<init>(FrameLayout.java:97)
    W/WindowManager( 2520):         ... 18 more

三、解决办法:
    1. cat AndroidManifest.xml
        ......
        <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/theme" >
        ......
    2. cat res/values/styles.xml
        <resources>

            <!--
                Base application theme, dependent on API level. This theme is replaced
                by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
            -->
            <style name="AppBaseTheme" parent="android:Theme.Light">
                <!--
                    Theme customizations available in newer API levels can go in
                    res/values-vXX/styles.xml, while customizations related to
                    backward-compatibility can go here.
                -->
            </style>

            <!-- Application theme. -->
            <style name="AppTheme" parent="AppBaseTheme">
                <!-- All customizations that are NOT specific to a particular API-level can go here. -->
            </style>

            <style name="style_quicksettings_category_text">
                <item name="android:textColor">@color/qs_text_title</item>
                <item name="android:fontFamily">sans-serif</item>
            </style>

        </resources>
    3. cat res/values/themes.xml
        <?xml version="1.0" encoding="utf-8"?>
        <resources>
            <style name="theme">
                <item name="android:windowNoTitle">true</item>
                <item name="android:windowFullscreen">?android:windowNoTitle</item>
                <item name="android:windowBackground">@android:drawable/screen_background_dark</item>
                <item name="android:windowFrame">@null</item>
                <item name="android:windowAnimationStyle">@android:style/Animation.Activity</item>
            </style>
        </resources>
    4. 修改为如下:
        cat res/values/themes.xml
            <?xml version="1.0" encoding="utf-8"?>
            <resources>
                <style name="theme" parent="AppTheme">
                    <item name="android:windowNoTitle">true</item>
                    <item name="android:windowFullscreen">?android:windowNoTitle</item>
                    <item name="android:windowBackground">@android:drawable/screen_background_dark</item>
                    <item name="android:windowFrame">@null</item>
                    <item name="android:windowAnimationStyle">@android:style/Animation.Activity</item>
                </style>
            </resources>
    

 

目录
相关文章
|
2月前
|
Android开发
【Bug】Android resource linking failed和error: failed linking references.
【Bug】Android resource linking failed和error: failed linking references.
|
Android开发 C++
【Android 逆向】IDA 工具使用 ( IDA 32 位 / 64 位 版本 | 汇编代码视图 IDA View-A | 字符串窗口 Strings window )
【Android 逆向】IDA 工具使用 ( IDA 32 位 / 64 位 版本 | 汇编代码视图 IDA View-A | 字符串窗口 Strings window )
843 0
【Android 逆向】IDA 工具使用 ( IDA 32 位 / 64 位 版本 | 汇编代码视图 IDA View-A | 字符串窗口 Strings window )
|
6月前
|
开发工具 Android开发 iOS开发
使用xamarin开发Android、iOS报错failed to open directory: 系统找不到指定的文件
使用vs2019学习xamarin时,创建新程序。使用模拟器真机等测试都报错如下图错误: ![请在此添加图片描述](https://developer-private-1258344699.cos.ap-guangzhou.myqcloud.com/column/article/5877188/20231030-de8ce5fd.png?x-cos-security-token=r4KyZDEowPT0kGTL0LqE8EnwfN1Nzexadb05dcffed3939ff8d7591c528c01706nvpGSE93QwHpZM8NwhJNTZctNRQa0l3KDhEnqj8P7d8t
63 0
使用xamarin开发Android、iOS报错failed to open directory: 系统找不到指定的文件
|
12月前
|
API uml Android开发
Android | 深入理解View.post()获取宽高、Window加载View原理
深入理解View.post()获取宽高、Window加载View原理
315 0
|
Android开发
Android | 理解Window 和 WindowManager(下)
Android | 理解Window 和 WindowManager(下)
Android | 理解Window 和 WindowManager(下)
|
存储 Android开发 索引
Android | 理解Window 和 WindowManager(上)
Android | 理解Window 和 WindowManager(上)
Android | 理解Window 和 WindowManager(上)
|
存储 消息中间件 API
下沉式通知的一种实现 | Android悬浮窗Window应用
当你浏览公众号时来了一条新消息,通知在屏幕顶部会以自顶向下动画的形式入场,而且它是跨界面的全局浮窗(效果如下图)。虽然上一篇中抽象的浮窗工具类已经能实现这个需求。但本文在此基础上再封装一些更加友好的
313 0
|
存储 Android开发 Kotlin
悬浮窗的一种实现 | Android悬浮窗Window应用
本文以业务应用为出发点,从零开始抽象一个浮窗工具类,它用于在任意业务界面上展示悬浮窗。它可以同时管理多个浮窗,而且浮窗可以响应触摸事件,可拖拽,有贴边动画。
681 0
|
Android开发 容器
Android窗口管理分析(2):WindowManagerService窗口管理之Window添加流程
Android窗口管理分析(2):WindowManagerService窗口管理之Window添加流程
405 0
Android窗口管理分析(2):WindowManagerService窗口管理之Window添加流程
|
缓存 Android开发
Android 深入了解 Window 、Activity、 View 三者关系(下)
addView 成功有一个标志就是能够接收触屏事件,通过对 setContentView 流程的分析,可以看出添加 View 的操作实质上是 PhoneWindow 在全盘操作,背后负责人是 WMS,反之 Activity 自始至终没什么参与感。但是我们也知道当触屏事件发生之后,Touch 事件首先是被传入到 Activity,然后才被下发到布局中的 ViewGroup 或者 View(Touch事件分发 了解一下)。那么 Touch 事件是如何传递到 Activity 上的呢?
212 0