我想通过在我创建的Activity的public static void main(String [] args)方法中执行它来检查Android Activity的私有方法.
我使用Eclipse ADT和我作为Java应用程序运行Activity的天真方法导致:
Java运行时环境检测到致命错误:
内部错误(classFileParser.cpp:3174),pid = 2936,tid = 2980
错误:ShouldNotReachHere()
所以我查看了运行配置,发现Android 3.1是Classpath的Bootstrap Entries部分中的唯一条目.我设法配置项目的构建路径,以便JRE也在Bootstrap条目中.然后我删除了Android 3.1条目并将android.jar添加到用户条目.
执行运行配置的结果是RuntimeException:
线程"main"中的异常java.lang.RuntimeException:Stub!
在android.content.Context.(Context.java:4)
执行某些测试的另一种方法是启动JUnit测试.但是在私有方法的情况下,这很麻烦.
有没有办法成功运行Android Activity类的main方法?
对于当前的问题还有另一种选择,如果该private方法(应通过执行主方法进行检查)可以提取到另一个类。这当然意味着至少手段突然变得protected。
但是,如果该方法是在不是派生自android.app.Activity 的类中定义的,则可以定义main方法。您只需调整Eclipse 中的运行配置即可。
| 归档时间: |
|
| 查看次数: |
8225 次 |
| 最近记录: |