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

android – 使用MultiDexApplication会导致applicationContext变为null,第1张

概述我已按照此链接中的说明将我的应用程序切换到MultiDexApplication – https://developer.android.com/studio/build/multidex.html. 应用程序现在安装正确,但我的应用程序上下文为空.以前有没有经历过这样的事情? 如果您需要代码示例,请告诉我,但由于应用程序崩溃,因为它无法获取应用程序上下文,我无法想到任何可以解释该问题的代码. 获 我已按照此链接中的说明将我的应用程序切换到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;}@OverrIDeprotected voID attachBaseContext(Context base) {    super.attachBaseContext(base);    MultIDex.install(this);}@OverrIDepublic voID onCreate() {    super.onCreate();    Fabric.with(this,new Crashlytics());}public static Context getContext() {    return context;}}

然后当我打电话:

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

我得到一个NullPointer.我的应用程序上下文为空.

添加了一个测试来解释这个问题.在我的Launch活动中,我添加了以下代码:

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

LogCat始终打印出Context为null.

解决方法 最后通过执行以下 *** 作来解决此问题:
1-从app完全删除了multIDex代码.
2-清理项目.
3-建造项目.
4-再次将所有multIDex代码添加到项目中.
5-再次清理并重建项目.
6-它刚开始工作……

不知道为什么它第一次没有工作,但现在它工作正常.

总结

以上是内存溢出为你收集整理的android – 使用MultiDexApplication会导致applicationContext变为null全部内容,希望文章能够帮你解决android – 使用MultiDexApplication会导致applicationContext变为null所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1123808.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存