最近我在platrom android4.0.3上移植了一个电话项目,当拨打电话时,手机在incallscreen中崩溃。日志如下:
E/AndroidRuntime( 1622): FATAL EXCEPTION: main
E/AndroidRuntime( 1622): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.phone/com.android.phone.InCallScreen}: android.view.InflateException: Binary XML file line #35: Error inflating class <unknown>
E/AndroidRuntime( 1622): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
E/AndroidRuntime( 1622): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
E/AndroidRuntime( 1622): at android.app.ActivityThread.access$600(ActivityThread.java:123)
E/AndroidRuntime( 1622): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
E/AndroidRuntime( 1622): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 1622): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime( 1622): at android.app.ActivityThread.main(ActivityThread.java:4424)
E/AndroidRuntime( 1622): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 1622): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime( 1622): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
E/AndroidRuntime( 1622): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
E/AndroidRuntime( 1622): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 1622): Caused by: android.view.InflateException: Binary XML file line #35: Error inflating class <unknown>
E/AndroidRuntime( 1622): at android.view.LayoutInflater.createView(LayoutInflater.java:606)
E/AndroidRuntime( 1622): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
E/AndroidRuntime( 1622): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:653)
E/AndroidRuntime( 1622): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:678)
E/AndroidRuntime( 1622): at android.view.LayoutInflater.rInflate(LayoutInflater.java:739)
E/AndroidRuntime( 1622): at android.view.LayoutInflater.rInflate(LayoutInflater.java:742)
E/AndroidRuntime( 1622): at android.view.LayoutInflater.parseInclude(LayoutInflater.java:823)
E/AndroidRuntime( 1622): at android.view.LayoutInflater.rInflate(LayoutInflater.java:729)
E/AndroidRuntime( 1622): at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
E/AndroidRuntime( 1622): at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
E/AndroidRuntime( 1622): at android.view.ViewStub.inflate(ViewStub.java:232)
E/AndroidRuntime( 1622): at com.android.phone.InCallScreen.initInCallScreen(InCallScreen.java:1223)
E/AndroidRuntime( 1622): at com.android.phone.InCallScreen.onCreate(InCallScreen.java:514)
E/AndroidRuntime( 1622): at android.app.Activity.performCreate(Activity.java:4465)
E/AndroidRuntime( 1622): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
E/AndroidRuntime( 1622): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
E/AndroidRuntime( 1622): ... 11 more
E/AndroidRuntime( 1622): Caused by: java.lang.reflect.InvocationTargetException
E/AndroidRuntime( 1622): at java.lang.reflect.Constructor.constructNative(Native Method)
E/AndroidRuntime( 1622): at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
E/AndroidRuntime( 1622): at android.view.LayoutInflater.createView(LayoutInflater.java:586)
E/AndroidRuntime( 1622): ... 26 more
E/AndroidRuntime( 1622): Caused by: java.lang.StackOverflowError
E/AndroidRuntime( 1622): at android.util.SparseArray.get(SparseArray.java:73)
E/AndroidRuntime( 1622): at android.content.res.StringBlock.get(StringBlock.java:69)
E/AndroidRuntime( 1622): at android.content.res.AssetManager.getResourceValue(AssetManager.java:201)
E/AndroidRuntime( 1622): at android.content.res.Resources.getValue(Resources.java:1015)
E/AndroidRuntime( 1622): at android.content.res.Resources.getDrawable(Resources.java:663)
E/AndroidRuntime( 1622): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)
E/AndroidRuntime( 1622): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:867)
E/AndroidRuntime( 1622): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:804)
E/AndroidRuntime( 1622): at android.content.res.Resources.loadDrawable(Resources.java:1922)
E/AndroidRuntime( 1622): at android.content.res.Resources.getDrawable(Resources.java:664)
E/AndroidRuntime( 1622): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)
E/AndroidRuntime( 1622): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:867)
E/AndroidRuntime( 1622): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:804)
E/AndroidRuntime( 1622): at android.content.res.Resources.loadDrawable(Resources.java:1922)
E/AndroidRuntime( 1622): at android.content.res.Resources.getDrawable(Resources.java:664)
E/AndroidRuntime( 1622): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)
E/AndroidRuntime( 1622): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:867)
E/AndroidRuntime( 1622): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:804)
E/AndroidRuntime( 1622): at android.content.res.Resources.loadDrawable(Resources.java:1922)
E/AndroidRuntime( 1622): at android.content.res.Resources.getDrawable(Resources.java:664)
E/AndroidRuntime( 1622): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)
E/AndroidRuntime( 1622): at andro
W/ActivityManager( 1348): Force finishing activity com.android.phone/.InCallScreen
感谢。 erreo xml是: * dtmf_twelve_key_dialer_view.xml line35:android:visibility =“gone”*
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2009 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- Onscreen in-call DTMF dialpad. This element contains the grid of
DTMF buttons (dialpad.xml) along with a TextView showing
the digits you've typed.
When the user presses the "Dialpad" button, this UI appears in the
upper part of the in-call screen, covering up the "call card" area.
The regular in-call controls (i.e. the InCallTouchUi widget) are
still visible at the lower part of the screen.
This layout is inflated in place of dtmf_twelve_key_dialer_stub
in incall_touch_ui.xml. -->
<com.android.phone.DTMFTwelveKeyDialerView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/dtmf_twelve_key_dialer_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_marginTop="1dip"
android:visibility="gone"
>
<!-- Display of the digits you've typed so far.
This widget appears completely non-interactive to the user: you
can't edit or "hit backspace" since these are DTMF tones you've
already sent over the network. But it's still an EditText rather
than a TextView because it needs to receive key events from a
hard keyboard, if present (see mDialerKeyListener). -->
<EditText
android:id="@+id/dtmfDialerField"
android:layout_width="match_parent"
android:layout_height="32dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="5dp"
android:layout_marginLeft="32dp"
android:layout_marginRight="32dp"
android:paddingRight="16dp"
android:paddingLeft="16dp"
android:singleLine="true"
android:scrollHorizontally="true"
android:textSize="24sp"
android:gravity="center"
android:freezesText="true"
android:background="@null"
android:textColor="@color/dtmf_dialer_display_text"
android:focusableInTouchMode="false"
android:clickable="false"/>
<!-- The dialpad itself -->
<include layout="@layout/dialpad" />
</com.android.phone.DTMFTwelveKeyDialerView>