java - 如何使用 Stetho 和 okhttp3 进行网络检查?

标签 java android okhttp3 stetho

我启动了 Android 模拟器 (Genymotion) 应用程序。问题是我无法检查 Chrome 开发工具中的任何内容(请参见下面的屏幕截图)。有小费吗 ?

Stetho

(地址栏)中的 Google Chrome 开发工具

这是我在 Chrome 中输入此 URL 后看到的内容
Chrome ://检查/

Chrome Dev Tools

TrainerWorkoutApplication.java

import android.app.Application;
import android.content.Context;

import com.facebook.stetho.Stetho;

public class TrainerWorkoutApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();

        Stetho.initialize(Stetho.newInitializerBuilder(this)
        .enableWebKitInspector(Stetho.defaultInspectorModulesProvider(this))
        .build());
    } // onCreate()

} // TrainerWorkoutApplication

登录 Activity .java
package com.trainerworkout.trainerworkout.activity;

//...

/** As a personal trainer I need to log in so that I can have access to the app. */
public class LogInActivity extends AppCompatActivity {
    public static OkHttpClient client;
    private OkHttpClient.Builder builder = new OkHttpClient.Builder();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // ...
        builder.addInterceptor(new AddCookiesInterceptor(context));
        builder.addInterceptor(new ReceivedCookiesInterceptor(context));

        builder.addNetworkInterceptor(new StethoInterceptor());

        client = builder.build();
    } // onCreate()

    //...

} // LogInActivity

build.gradle(应用程序)
apply plugin: 'com.android.application'

android {
    //...
} // android

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.3.0'
    compile 'com.jakewharton:butterknife:7.0.1'
    compile 'com.squareup.okhttp3:okhttp:3.0.1'
    compile 'com.google.code.gson:gson:2.5'
    compile 'com.android.support:design:23.3.0'
    compile 'com.android.support:support-v4:23.3.0'
    compile 'de.hdodenhof:circleimageview:2.0.0'
    compile 'com.facebook.stetho:stetho:1.3.1'
    compile 'com.facebook.stetho:stetho-okhttp3:1.3.1'
} // dependencies

最佳答案

为了解决这个问题,我认为 Application 类应该在应用程序包中,而不是在 java 包中。另外,确保应用程序类在

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.trainerworkout.trainerworkout"
          xmlns:android="http://schemas.android.com/apk/res/android">
    ...
    <application
        ...
        android:name=".TrainerWorkout">
        ...
    </application>
</manifest>

enter image description here

有关如何使用 Stetho 的更多信息,我推荐本教程。

Debugging Android Apps with Facebook's Stetho

关于java - 如何使用 Stetho 和 okhttp3 进行网络检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37330093/

相关文章:

android - 即使在退出应用程序后,我如何保留从微调器中选择的项目?

android - OkHttp Authenticator 在成功刷新 token 请求后循环

okhttp3 - 如何在okhttp中更改请求的超时时间

java - Spring DI - 不要初始化所有依赖的 bean

Java AES-128 ECB 加密

android - 如何将电话号码转换为标准格式?

android - 如何解决 okhttp3.internal.http2.StreamResetException : stream was reset: REFUSED_STREAM in Retrofit POST request

java - SMPP 错误 13 - ESME_RBINDFAIL

java - 尽管在 list 中声明了 AdActivity 错误

java - 创建aar文件并进行检查