gpt4 book ai didi

android - callApplicationOnCreate 被调用但不是 newApplication(扩展 AndroidJUnitRunner)

转载 作者:太空狗 更新时间:2023-10-29 14:47:40 25 4
gpt4 key购买 nike

在 Gradle 和 Run/Debug Configurations -> Android Tests -> MyInstrumentedTest -> General -> Specific instrumentation runner 中设置 testInstrumentationRunner "com.example.theapp.utils.CustomAndroidJUnitRunner" 之后(可选) 和扩展 AndroidJUnitRunner:

import android.app.Application;
import android.content.Context;
import android.support.test.runner.AndroidJUnitRunner;

public class CustomAndroidJUnitRunner extends AndroidJUnitRunner {
@Override
public Application newApplication(ClassLoader cl, String className, Context context) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
return super.newApplication(cl, className, context);
}

@Override
public void callApplicationOnCreate(Application app) {
super.callApplicationOnCreate(app);
}
}

我在 newApplicationcallApplicationOnCreate 中设置了 BP 并看到调用了 callApplicationOnCreate,但没有调用 newApplication。可能是什么问题?

最佳答案

我认为 newApplication() 没有被调用,因为断点没有被击中,但似乎在调试器有机会附加之前调用了该方法。

如果需要调试newApplication()方法,我推荐添加Debug.waitForDebugger();在 Runner 构造函数中或在断点之前的任何时间。否则使用一些其他标志来确定该方法是否被调用(即不依赖调试器和断点)。

关于android - callApplicationOnCreate 被调用但不是 newApplication(扩展 AndroidJUnitRunner),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38128692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com