app在一台设备上运行但不在另一台设备上

时间:2011-11-28 01:21:32

标签: android

固定

出于某种原因,我创建的特殊菜单正在杀死它...这个类中没有API或任何东西。但感谢支持人员


所以这不是一个关于代码的问题,而是一个非常随机的错误......

我的应用程序在我的Nexus S上完美运行,但当它在任何其他手机或模拟器上运行时,它会立即FC。

该应用确实具有root权限,但前提是您选择使用它。否则它只是一个正常的应用程序。

有没有人能解决为什么它会在一台设备上运行而不能在另一台设备上运行?

- 编辑 -

11-27 17:28:37.734: E/AndroidRuntime(7104): FATAL EXCEPTION: main
11-27 17:28:37.734: E/AndroidRuntime(7104): java.lang.VerifyError: com.SyndicateApps.OmegaLauncher.Launcher
11-27 17:28:37.734: E/AndroidRuntime(7104):     at java.lang.Class.newInstanceImpl(Native Method)
11-27 17:28:37.734: E/AndroidRuntime(7104):     at java.lang.Class.newInstance(Class.java:1429)
11-27 17:28:37.734: E/AndroidRuntime(7104):     at android.app.Instrumentation.newActivity(Instrumentation.java:1056)
11-27 17:28:37.734: E/AndroidRuntime(7104):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2752)
11-27 17:28:37.734: E/AndroidRuntime(7104):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2859)
11-27 17:28:37.734: E/AndroidRuntime(7104):     at android.app.ActivityThread.access$2300(ActivityThread.java:136)
11-27 17:28:37.734: E/AndroidRuntime(7104):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2179)
11-27 17:28:37.734: E/AndroidRuntime(7104):     at android.os.Handler.dispatchMessage(Handler.java:99)
11-27 17:28:37.734: E/AndroidRuntime(7104):     at android.os.Looper.loop(Looper.java:143)
11-27 17:28:37.734: E/AndroidRuntime(7104):     at android.app.ActivityThread.main(ActivityThread.java:5073)
11-27 17:28:37.734: E/AndroidRuntime(7104):     at java.lang.reflect.Method.invokeNative(Native Method)
11-27 17:28:37.734: E/AndroidRuntime(7104):     at java.lang.reflect.Method.invoke(Method.java:521)
11-27 17:28:37.734: E/AndroidRuntime(7104):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
11-27 17:28:37.734: E/AndroidRuntime(7104):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
11-27 17:28:37.734: E/AndroidRuntime(7104):     at dalvik.system.NativeStart.main(Native Method)
  • 编辑2 -

所以它的2.2但同样的问题......有没有办法可以使用api 9级找到这个类?

LOGCAT 2(在Android 2.2上)

  • 编辑2 / 2.2 EMULATOR上的第二个LOGCAT -

11-27 18:56:12.159:E / AndroidRuntime(258):致命异常:主要 11-27 18:56:12.159:E / AndroidRuntime(258):java.lang.VerifyError:com.SyndicateApps.OmegaLauncher.Launcher 11-27 18:56:12.159:E / AndroidRuntime(258):at java.lang.Class.newInstanceImpl(Native Method) 11-27 18:56:12.159:E / AndroidRuntime(258):at java.lang.Class.newInstance(Class.java:1429) 11-27 18:56:12.159:E / AndroidRuntime(258):在android.app.Instrumentation.newActivity(Instrumentation.java:1021) 11-27 18:56:12.159:E / AndroidRuntime(258):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577) 11-27 18:56:12.159:E / AndroidRuntime(258):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 11-27 18:56:12.159:E / AndroidRuntime(258):在android.app.ActivityThread.access $ 2300(ActivityThread.java:125) 11-27 18:56:12.159:E / AndroidRuntime(258):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:2033) 11-27 18:56:12.159:E / AndroidRuntime(258):在android.os.Handler.dispatchMessage(Handler.java:99) 11-27 18:56:12.159:E / AndroidRuntime(258):在android.os.Looper.loop(Looper.java:123) 11-27 18:56:12.159:E / AndroidRuntime(258):在android.app.ActivityThread.main(ActivityThread.java:4627) 11-27 18:56:12.159:E / AndroidRuntime(258):at java.lang.reflect.Method.invokeNative(Native Method) 11-27 18:56:12.159:E / AndroidRuntime(258):at java.lang.reflect.Method.invoke(Method.java:521) 11-27 18:56:12.159:E / AndroidRuntime(258):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868) 11-27 18:56:12.159:E / AndroidRuntime(258):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 11-27 18:56:12.159:E / AndroidRuntime(258):at dalvik.system.NativeStart.main(Native Method)

很多错误都涉及到这个...... - > (new DialogInterface.OnShowListener()

1 个答案:

答案 0 :(得分:0)

java.lang.VerifyError通常意味着您正在使用当前Java VM上不可用的类或方法。哪个Android版本在Nexus上,哪个在另一个设备上? Android应用程序清单系统允许针对API级别10进行编译,同时允许针对API级别6运行。在运行之前不会出现使用向后兼容的类的警告。

编辑:显然,类com.SyndicateApps.OmegaLauncher.Launcher使用了第9级中引入的一些API。在项目属性中,在“Android”下,将构建目标(临时)设置为Android 2.2并查看错误发生的位置。

EDIT2:如果静态分析失败,请尝试在方法中按方法注释方法内部,直到加载为止。 VerifyError以这种方式调试相当容易 - 它是由类中错误代码的存在触发的,而不是由它的调用引发的。这不像你必须进行100%的覆盖率分析。