Tencent / Shadow

零反射全动态Android插件框架
BSD 3-Clause "New" or "Revised" License
7.36k stars 1.29k forks source link

启动插件时,会报上下文NullPointerException #1289

Closed wh963572516 closed 4 months ago

wh963572516 commented 4 months ago

public class PluginApplication extends MultiDexApplication {

private static PluginApplication mApplication;

public static Context getContext() {
    return mApplication.getBaseContext();
}

@Override
public void onCreate() {
    super.onCreate();
    mApplication = this;
}

}

在其它地方调用这个getContext(),比如启动页的activity中调用, 然后宿主启动插件时,会报mApplication为NullPointerException

插件里的工程,用的 compileOnly "com.tencent.shadow.core:common:2.3.0"

宿主里的工程,用的 implementation 'com.tencent.shadow.core:common:2.3.0'

为啥还会出现空指针异常呢?请帮忙看看

shifujun commented 4 months ago

这和shadow有啥关系呢?那个npe看起来很正常啊。

wh963572516 commented 4 months ago

当我插件工程不当插件运行,没有问题。 但是把这个工程集成插件后,宿主调用这个插件。mApplication会报空 我在onCreate中已经mApplication = this; 按照道理应该不会为空啊。是由于插件工程的Application被转成了ShadowApplication吗?