gpt4 book ai didi

android - 使用 MultiDexApplication 会导致 applicationContext 变为 null

转载 作者:太空宇宙 更新时间:2023-11-03 11:03:11 25 4
gpt4 key购买 nike

我已按照此链接中的说明将我的应用程序切换为 MultiDexApplication - https://developer.android.com/studio/build/multidex.html .

应用程序现在安装正确,但我的应用程序上下文为空。你们以前有过这样的经历吗?

如果您需要代码示例,请告诉我,但由于应用程序因无法获取应用程序上下文而崩溃,我想不出任何可以解释该问题的代码。

如下获取我的应用程序上下文:

TrackerApplication.getContext();


public class TrackerApplication extends MultiDexApplication {

private static Context context;

public TrackerApplication() {
super();
context = this;
}

@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}

@Override
public void onCreate() {
super.onCreate();
Fabric.with(this, new Crashlytics());
}

public static Context getContext() {
return context;
}
}

然后当我打电话时:

TrackerApplication.getContext().getSharedPreferences("MySettings",
Context.MODE_PRIVATE);

我得到一个 NullPointer。我的应用上下文为空。

添加了一个测试来解释这个问题。在我的 Launch Activity 中,我添加了这段代码:

if (TrackerApplication.getContext() == null) {
Log.i("TEST", "Context is null");
} else {
Log.i("TEST", "What is the issue?");
}

LogCat 总是打印出 Context is null

最佳答案

最后通过执行以下操作解决了这个问题:1- 从应用程序中完全删除 multidex 代码。2-清理项目。3- 建成项目。4- 再次将所有 multidex 代码添加到项目中。5-再次清理并重建项目。6- 在那之后它才开始工作..

不知道为什么第一次不行,现在好了。

关于android - 使用 MultiDexApplication 会导致 applicationContext 变为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37835217/

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