小编Tom*_*rch的帖子

"尝试在空对象引用上读取字段'int android.content.pm.ApplicationInfo.targetSdkVersion'"异常

在使用Mockito运行Espresso测试时,我目前遇到此问题,"Attempt to read from the field 'int android.content.pm.ApplicationInfo.targetSdkVersion' on a null object reference"在主Activity启动后,异常会随机出现.

这是主Activity的init部分:

private MainActivity subject;
SingleActivityFactory<MainActivity> activityFactory =
    new SingleActivityFactory<MainActivity>(MainActivity.class) {
        @Override
        protected MainActivity create(Intent intent) {
            subject = spy(getActivityClassToIntercept());
            return subject;
        }
    };

@Rule public ActivityTestRule<MainActivity> mainActivityRule =
    new ActivityTestRule<>(activityFactory, true, false);

@Before
public void init() {
    mainActivityRule.launchActivity(null);
}
Run Code Online (Sandbox Code Playgroud)

这是例外:

java.lang.NullPointerException: Attempt to read from field 'int 
android.content.pm.ApplicationInfo.targetSdkVersion' on a null object 
reference
at android.view.View.getLayoutDirection(View.java:10277)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:446)
at android.view.View.measure(View.java:23169)
at android.support.v4.widget.DrawerLayout.onMeasure(DrawerLayout.java:1059)
at android.view.View.measure(View.java:23169)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6749) …
Run Code Online (Sandbox Code Playgroud)

android mockito android-espresso

8
推荐指数
1
解决办法
955
查看次数

标签 统计

android ×1

android-espresso ×1

mockito ×1