您的位置:首页 > 移动开发 > Android开发

android4.0移植,拨号异常

2013-12-13 09:51 597 查看
D/dalvikvm( 2274): GC_CONCURRENT freed 206K, 12% free 6571K/7431K, paused 2ms+3ms

D/dalvikvm( 2274): GC_FOR_ALLOC freed 294K, 15% free 6603K/7751K, paused 26ms

I/dalvikvm( 2274): threadid=1: stack overflow on call to Landroid/util/SparseArray;.get:LIL

I/dalvikvm( 2274): method requires 28+20+16=64 bytes, fp is 0x50b1b31c (28 left)

I/dalvikvm( 2274): expanding stack end (0x50b1b300 to 0x50b1b000)

I/dalvikvm( 2274): Shrank stack (to 0x50b1b300, curFrame is 0x50b1b350)

D/AndroidRuntime( 2274): Shutting down VM

W/dalvikvm( 2274): threadid=1: thread exiting with uncaught exception (group=0x40b291f8)

D/OpenGLRenderer( 2286): Flushing caches (mode 0)

D/dalvikvm( 2274): GC_CONCURRENT freed 271K, 12% free 6886K/7815K, paused 2ms+3ms

E/AndroidRuntime( 2274): FATAL EXCEPTION: main

E/AndroidRuntime( 2274): 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( 2274): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)

E/AndroidRuntime( 2274): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)

E/AndroidRuntime( 2274): at android.app.ActivityThread.access$600(ActivityThread.java:123)

E/AndroidRuntime( 2274): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)

E/AndroidRuntime( 2274): at android.os.Handler.dispatchMessage(Handler.java:99)

E/AndroidRuntime( 2274): at android.os.Looper.loop(Looper.java:137)

E/AndroidRuntime( 2274): at android.app.ActivityThread.main(ActivityThread.java:4424)

E/AndroidRuntime( 2274): at java.lang.reflect.Method.invokeNative(Native Method)

E/AndroidRuntime( 2274): at java.lang.reflect.Method.invoke(Method.java:511)

E/AndroidRuntime( 2274): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)

E/AndroidRuntime( 2274): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)

E/AndroidRuntime( 2274): at dalvik.system.NativeStart.main(Native Method)

E/AndroidRuntime( 2274): Caused by: android.view.InflateException: Binary XML file line #35: Error inflating class <unknown>

E/AndroidRuntime( 2274): at android.view.LayoutInflater.createView(LayoutInflater.java:606)

E/AndroidRuntime( 2274): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)

E/AndroidRuntime( 2274): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:653)

E/AndroidRuntime( 2274): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:678)

E/AndroidRuntime( 2274): at android.view.LayoutInflater.rInflate(LayoutInflater.java:739)

E/AndroidRuntime( 2274): at android.view.LayoutInflater.rInflate(LayoutInflater.java:742)

E/AndroidRuntime( 2274): at android.view.LayoutInflater.parseInclude(LayoutInflater.java:823)

E/AndroidRuntime( 2274): at android.view.LayoutInflater.rInflate(LayoutInflater.java:729)

E/AndroidRuntime( 2274): at android.view.LayoutInflater.inflate(LayoutInflater.java:489)

E/AndroidRuntime( 2274): at android.view.LayoutInflater.inflate(LayoutInflater.java:396)

E/AndroidRuntime( 2274): at android.view.ViewStub.inflate(ViewStub.java:232)

E/AndroidRuntime( 2274): at com.android.phone.InCallScreen.initInCallScreen(InCallScreen.java:1223)

E/AndroidRuntime( 2274): at com.android.phone.InCallScreen.onCreate(InCallScreen.java:514)

E/AndroidRuntime( 2274): at android.app.Activity.performCreate(Activity.java:4465)

E/AndroidRuntime( 2274): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)

E/AndroidRuntime( 2274): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)

E/AndroidRuntime( 2274): ... 11 more

E/AndroidRuntime( 2274): Caused by: java.lang.reflect.InvocationTargetException

E/AndroidRuntime( 2274): at java.lang.reflect.Constructor.constructNative(Native Method)

E/AndroidRuntime( 2274): at java.lang.reflect.Constructor.newInstance(Constructor.java:417)

E/AndroidRuntime( 2274): at android.view.LayoutInflater.createView(LayoutInflater.java:586)

E/AndroidRuntime( 2274): ... 26 more

E/AndroidRuntime( 2274): Caused by: java.lang.StackOverflowError

E/AndroidRuntime( 2274): at android.util.SparseArray.get(SparseArray.java:73)

E/AndroidRuntime( 2274): at android.content.res.StringBlock.get(StringBlock.java:69)

E/AndroidRuntime( 2274): at android.content.res.AssetManager.getResourceValue(AssetManager.java:201)

E/AndroidRuntime( 2274): at android.content.res.Resources.getValue(Resources.java:1015)

E/AndroidRuntime( 2274): at android.content.res.Resources.getDrawable(Resources.java:663)

E/AndroidRuntime( 2274): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)

E/AndroidRuntime( 2274): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:867)

E/AndroidRuntime( 2274): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:804)

E/AndroidRuntime( 2274): at android.content.res.Resources.loadDrawable(Resources.java:1922)

E/AndroidRuntime( 2274): at android.content.res.Resources.getDrawable(Resources.java:664)

E/AndroidRuntime( 2274): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)

E/AndroidRuntime( 2274): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:867)

E/AndroidRuntime( 2274): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:804)

E/AndroidRuntime( 2274): at android.content.res.Resources.loadDrawable(Resources.java:1922)

E/AndroidRuntime( 2274): at android.content.res.Resources.getDrawable(Resources.java:664)

E/AndroidRuntime( 2274): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)

E/AndroidRuntime( 2274): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:867)

E/AndroidRuntime( 2274): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:804)

E/AndroidRuntime( 2274): at android.content.res.Resources.loadDrawable(Resources.java:1922)

E/AndroidRuntime( 2274): at android.content.res.Resources.getDrawable(Resources.java:664)

E/AndroidRuntime( 2274): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)

E/AndroidRuntime( 2274): at andro

W/ActivityManager( 2148): Force finishing activity com.android.phone/.InCallScreen

D/dalvikvm( 2274): GC_CONCURRENT freed 460K, 15% free 6936K/8071K, paused 2ms+15ms

D/dalvikvm( 2148): GC_CONCURRENT freed 528K, 44% free 8313K/14599K, paused 4ms+6ms

W/ActivityManager( 2148): Activity pause timeout for ActivityRecord{41868ae0 com.android.phone/.InCallScreen}

I/power ( 2148): *** set_screen_state 1

W/PowerManagerService( 2148): App called preventScreenOn(true) but didn't promptly reenable the screen! Forcing the screen back on...

D/dalvikvm( 2229): GC_CONCURRENT freed 316K, 33% free 6270K/9223K, paused 1ms+4ms

W/ActivityManager( 2148): Activity destroy timeout for ActivityRecord{41868ae0 com.android.phone/.InCallScreen}

最近在移植android4.0.3时,在屏幕密度设为120时,出现Phone拨号挂死的情况,抓取log如上所示,google的时候发现有好多人月到同样的问题

我解决该问题的方法:

1.修改android4.0.3/packages/apps/Phone/res/layout/dialpad.xml

36行:把android:src="@drawable/dial_num_1_no_vm" 修改为 android:src="@drawable/dial_num_1"

81行:把android:src="@drawable/dial_num_0_no_plus" 修改为 android:src="@drawable/dial_num_0"



2.修改android4.0.3/packages/apps/Phone/res/drawable/

复制 dial_num_0_no_plus.xml, 修改为 dial_num_0.xml

复制 dial_num_1_no_vm.xml 修改为 dial_num_1.xml

3.打开 dial_num_0.xml,修改 android:drawable="@drawable/dial_num_0_no_plus_wht" 为 android:drawable="@drawable/dial_num_0_wht"

打开 dial_num_1.xml 修改 android:drawable="@drawable/dial_num_1_no_vm_wht" 为android:drawable="@drawable/dial_num_1_wht"

4. 我的屏幕分辨率是320*240,android系统默认调用的是图片是drawable-mdpi目录下的图片,所以修改drawable-mdpi目录下:

新复制 dial_num_0_no_plus_wht.png出来,修改复制后图片的名称为 dial_num_0_wht.png

新复制 dial_num_1_no_vm_wht.png出来,修改复制后图片的名称为 dial_num_1_wht.png



5.修改后重新编译该源码程序,我的机子上就没出现该应用程序挂死的情况,我的这种方法还没有找到最根本的原因,只是临时性的解决方法,由于我作android驱动的工作,对应用上面不是很懂!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: