OkHttpProfiler Android Library

Android part of the Android Studio(IntellijIDEA) OkHttp Profiler plugin

OkHttpProfiler Android Library

Created by LocaleBro.com - Android Localization Platform

Support Developer Ievgenii Tkachenko

Important! Package migration!

JFrog Bintray is shutting down, so the OkHttpProfiler plugin was migrated to Maven Central. To migrate your plugin just change old package (com.itkacher) to the:

implementation("com.localebro:okhttpprofiler:1.0.8")

and change

import com.itkacher.okhttpprofiler.OkHttpProfilerInterceptor; 

with the

import com.localebro.okhttpprofiler.OkHttpProfilerInterceptor;

in your code.

Also the OkHttp client was excluded from okhttpprofiler, so feel free to include the latest version directly: OkHttpClient

implementation("com.squareup.okhttp3:okhttp:4.9.0")

End Important

The OkHttp Profiler plugin can show requests from the OkHttp library directly in the Android Studio tool window. It supports the OkHttp v3 (http://square.github.io/okhttp/) and the Retrofit v2 (https://square.github.io/retrofit/)

You can debug OkHttp request or response headers, inspect the JSON as a tree, as a plain text etc. And you can easily create a Java/Kotlin model from the data. Just click the right mouse button on a root element of the tree (or any other), choose Java or Kotlin, and select a folder for a new file in the project.

Screen2


Installation

For installation, you need to include the library to your app build.gradle file

implementation 'com.localebro:okhttpprofiler:1.0.8'

and add Interceptor to okHttpClient in code

For OkHttp
Java
OkHttpClient.Builder builder = new OkHttpClient.Builder();
 if (BuildConfig.DEBUG) {
     builder.addInterceptor(new OkHttpProfilerInterceptor());
 }   
OkHttpClient client = builder.build(); 
Kotlin
val builder = OkHttpClient.Builder()
if (BuildConfig.DEBUG) {
    builder.addInterceptor(OkHttpProfilerInterceptor() )
}    
val client = builder.build()
For Retrofit
Java
OkHttpClient.Builder builder = new OkHttpClient.Builder();
 if (BuildConfig.DEBUG) {
     builder.addInterceptor(new OkHttpProfilerInterceptor());
 }   
OkHttpClient client = builder.build(); 
Retrofit retrofit = new Retrofit.Builder()
            ......
            .client(client)
            .build();
Kotlin
val builder = OkHttpClient.Builder()
if (BuildConfig.DEBUG) {
    builder.addInterceptor( OkHttpProfilerInterceptor() )
}    
val client = builder.build()
val retrofit = Retrofit.Builder()
        ......
        .client(client)
        .build()
For security reasons we recommend to enable OkHttpProfilerInterceptor only for DEBUG BUILDS!

Also Proguard will cut it out in the release build.

And then enable Android Studio plugin

https://plugins.jetbrains.com/plugin/11249-okhttp-profiler

Screen2

Screen3

Screen1

Screen4

Have fun!

Source Codes

OkHttp Profiler Plugin Sources.

OkHttp Profiler Android Library.

Issue with the Android Studio version 4.1 solved in plugin v1.0.13+:

Unfortunately, Google changed realisation of one class but Intellij doesn’t. I fixed it, but Intellij IDEA is no longer supported by the OkHttProfiler.