为什么Android Studio在运行项目时没有将我的最新更改部署到我的设备?

时间:2016-03-02 05:32:22

标签: java android android-studio traceback

  

注意:关于如何修复NullPointerException,这个问题。这个问题是为什么一段已更新的代码仍会在旧版本的Android Studio应用程序中生成堆栈跟踪。

我有一个检查互联网连接的课程。但是,这个类曾经有一段无效的代码,如下所示:

public class InternetConnectivityChecker {
    private Context context;

    public InternetConnectivityChecker(Context context) {
        context = context;
    }

我修改了这段代码,将其更改为:

public class InternetConnectivityChecker {
    private Context context;

    public InternetConnectivityChecker(Context context) {
        this.context = context;
    }

我不断得到一个堆栈跟踪,贴在下面。为了解决这个问题,我决定完全删除该类的调用。

此类曾在第22行从SamaWebViewClient调用。但是,现在它不再被调用了:

public class SamaWebViewClient extends WebViewClient {
    private com.sama7.sama.listeners.OnReceivedErrorListener onReceivedErrorListener;

    public SamaWebViewClient(com.sama7.sama.listeners.OnReceivedErrorListener listener) {
        this.onReceivedErrorListener = listener;
    }

    @Override
    public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
            onReceivedErrorListener.onReceivedError();
    }

}

但是,现在当我在调试模式下运行代码时,即使我在Gradle Build窗口中收到0错误和0警告,这也是我在logcat中看到的:

03-02 08:49:29.240 24373-24373/com.sama7.sama E/AndroidRuntime: FATAL EXCEPTION: main
                                                            Process: com.sama7.sama, PID: 24373
                                                                java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object android.content.Context.getSystemService(java.lang.String)' on a null object reference
                                                                at com.sama7.sama.InternetConnectivityChecker.isConnected(InternetConnectivityChecker.java:15)
                                                                at com.sama7.sama.SamaWebViewClient.onReceivedError(SamaWebViewClient.java:22)
                                                                at com.android.webview.chromium.WebViewContentsClientAdapter.onReceivedError(WebViewContentsClientAdapter.java:582)
                                                                at org.chromium.android_webview.AwContentsClient.onReceivedError(AwContentsClient.java:355)
                                                                at org.chromium.android_webview.AwContentsClientCallbackHelper$MyHandler.handleMessage(AwContentsClientCallbackHelper.java:160)
                                                                at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                at android.os.Looper.loop(Looper.java:145)
                                                                at android.app.ActivityThread.main(ActivityThread.java:5832)
                                                                at          java.lang.reflect.Method.invoke(Native Method)
                                                                at     java.lang.reflect.Method.invoke(Method.java:372)
                                                                at     com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
03-02 08:49:38.015 24373-24373/com.sama7.sama I/Process: Sending signal. PID: 24373 SIG: 9

为什么我没有在三星Galaxy S5设备上构建和部署最新的应用程序?

1 个答案:

答案 0 :(得分:0)

对于将来发现这一点的人来说,这对我有用。

  

关闭瞬间跑步

     

如果您需要关闭即时运行,请转到设置→构建,执行,部署→即时运行,然后取消选中启用即时运行....

这是摘自instant run上的Android工具页面。