Vik*_*uli 1 debugging android emulation device
我开发了一个android应用程序.启动应用程序后,它显示启动画面和登录,它可以在模拟器和真实 设备上运行,但是当我按设备上的跳过选项时应用程序崩溃但不在模拟器中.这是logcat的错误:
07-11 12:48:59.735: D/skia(4382): jpeg_decoder mode 1, config 6, w 640, h 1136, sample 
1, bsLength 142a5!!
07-11 12:49:01.589: D/libc-netbsd(4382): getaddrinfo: autolife.com.np get result from proxy >>
07-11 12:49:02.126: D/skia(4382): jpeg_decoder mode 1, config 6, w 640, h 1136, sample 1, bsLength f1ae!!
07-11 12:49:08.694: W/dalvikvm(4382): VFY: unable to resolve virtual method 62: Landroid/app/ActionBar;.setHomeAsUpIndicator (I)V
07-11 12:49:08.868: E/AndroidRuntime(4382): FATAL EXCEPTION: main
07-11 12:49:08.868: E/AndroidRuntime(4382): java.lang.NoSuchMethodError: android.app.ActionBar.setHomeAsUpIndicator
07-11 12:49:08.868: E/AndroidRuntime(4382):     at np.com.autolife.activity.BaseActivity.onCreate(BaseActivity.java:41)
07-11 12:49:08.868: E/AndroidRuntime(4382):     at np.com.autolife.AutoLifeNepal.onCreate(AutoLifeNepal.java:33)
07-11 12:49:08.868: E/AndroidRuntime(4382):     at android.app.Activity.performCreate(Activity.java:5122)
07-11 12:49:08.868: E/AndroidRuntime(4382):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1081)
07-11 12:49:08.868: E/AndroidRuntime(4382):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2307)
07-11 12:49:08.868: E/AndroidRuntime(4382):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2395)
07-11 12:49:08.868: E/AndroidRuntime(4382):     at android.app.ActivityThread.access$600(ActivityThread.java:162)
07-11 12:49:08.868: E/AndroidRuntime(4382):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364)
07-11 12:49:08.868: E/AndroidRuntime(4382):     at android.os.Handler.dispatchMessage(Handler.java:107)
07-11 12:49:08.868: E/AndroidRuntime(4382):     at android.os.Looper.loop(Looper.java:194)
07-11 12:49:08.868: E/AndroidRuntime(4382):     at android.app.ActivityThread.main(ActivityThread.java:5371)
07-11 12:49:08.868: E/AndroidRuntime(4382):     at java.lang.reflect.Method.invokeNative(Native Method)
07-11 12:49:08.868: E/AndroidRuntime(4382):     at java.lang.reflect.Method.invoke(Method.java:525)
07-11 12:49:08.868: E/AndroidRuntime(4382):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
07-11 12:49:08.868: E/AndroidRuntime(4382):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
07-11 12:49:08.868: E/AndroidRuntime(4382):     at dalvik.system.NativeStart.main(Native Method)
请问有人已经遇到过这个问题吗?请帮我找出解决方案.提前致谢.
在你的stacktrace日志中你可以看到NoSuchMethodError - 这意味着系统无法找到以下方法:android.app.ActionBar.setHomeAsUpIndicator
如文档中所述:http: //developer.android.com/reference/android/app/ActionBar.html#setHomeAsUpIndicator(android.graphics.drawable.Drawable)
不知道你想要使用哪一个,但两者都是:
setHomeAsUpIndicator(Drawable)
和
setHomeAsUpIndicator(int)
在API级别18中添加.这意味着它们不适用于较低的API版本.这可能是您遇到问题的原因 - 您尝试在API版本较低的手机上执行此代码(低于JELLY_BEAN_MR2).
你有2个选择:
我.在调用此方法之前检查API版本:
if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.JELLY_BEAN_MR2) {
    actionBar.setHomeAsUpIndicator(int);
}
这样可以避免崩溃,但不会对较低的API版本产生任何影响 - 因此您可能希望使用第二个选项来实现样式目标.
二.而不是尝试从代码中设置homeAsUpIndicator  - 您可以通过添加"android:homeAsUpIndicator"属性从样式安全地(因为它可以从API 11获得).
http://developer.android.com/reference/android/R.attr.html#homeAsUpIndicator
<style name="AppTheme" parent="@android:style/Theme.Holo.Light">
    <item name="android:homeAsUpIndicator">@drawable/my_home_as_up_indocator</item>
</style>
问候.
| 归档时间: | 
 | 
| 查看次数: | 1951 次 | 
| 最近记录: |