All Projects → Chimerapps → niddler

Chimerapps / niddler

Licence: Apache-2.0 license
No description or website provided.

Programming Languages

java
68154 projects - #9 most used programming language
kotlin
9241 projects
shell
77523 projects

Projects that are alternatives of or similar to niddler

SpockAdb
Spock Adb Plugin Helps you to have full control of your project
Stars: ✭ 102 (+112.5%)
Mutual labels:  intellij-plugin, android-studio, android-studio-plugin
Pebble Intellij
Pebble support for IntelliJ IDEA
Stars: ✭ 68 (+41.67%)
Mutual labels:  intellij-plugin, android-studio
Runconfigurationasaction
Provides a way to use IntelliJ run configurations as buttons
Stars: ✭ 17 (-64.58%)
Mutual labels:  intellij-plugin, android-studio
Jsontokotlinclass
🚀 Plugin for Android Studio And IntelliJ Idea to generate Kotlin data class code from JSON text ( Json to Kotlin )
Stars: ✭ 2,438 (+4979.17%)
Mutual labels:  intellij-plugin, android-studio-plugin
Protein
💊 Protein is an IntelliJ Plugin to generate Kotlin code for Retrofit 2 and RxJava 2 based on a Swagger definition
Stars: ✭ 273 (+468.75%)
Mutual labels:  intellij-plugin, android-studio
Idea Android Studio Plugin
Android Studio Plugin
Stars: ✭ 293 (+510.42%)
Mutual labels:  intellij-plugin, android-studio
Fcm Push Plugin
IntelliJ IDEA plugin to send pushes using Firebase Cloud Messaging (FCM)
Stars: ✭ 177 (+268.75%)
Mutual labels:  intellij-plugin, android-studio
Android Studio Plugins
This is a list of all awesome and useful android studio plugins.
Stars: ✭ 2,186 (+4454.17%)
Mutual labels:  android-studio, android-studio-plugin
getx-snippets-intelliJ
An extension to accelerate the process of developing applications with flutter, aimed at everyone using the GetX package.
Stars: ✭ 52 (+8.33%)
Mutual labels:  intellij-plugin, android-studio
SideMirror
An Android Studio plugin to mirror your android devices with scrcpy directly from Android Studio.
Stars: ✭ 49 (+2.08%)
Mutual labels:  intellij-plugin, android-studio
TranslationPlugin
Translation plugin for IntelliJ based IDEs/Android Studio/HUAWEI DevEco Studio.
Stars: ✭ 9,375 (+19431.25%)
Mutual labels:  intellij-plugin, android-studio
eventbus-plugin
IntelliJ iDEA plugin to work with projects using greenrobot's EventBus library
Stars: ✭ 25 (-47.92%)
Mutual labels:  intellij-plugin, android-studio
figma-import-plugin
A plugin for Android Studio to import figma resources
Stars: ✭ 24 (-50%)
Mutual labels:  intellij-plugin, android-studio
Intellij Rainbow Brackets
🌈Rainbow Brackets for IntelliJ based IDEs/Android Studio/HUAWEI DevEco Studio
Stars: ✭ 3,663 (+7531.25%)
Mutual labels:  intellij-plugin, android-studio
Squaretest
Tracks issues for the Squaretest plugin for IntelliJ IDEA
Stars: ✭ 32 (-33.33%)
Mutual labels:  intellij-plugin, android-studio-plugin
Name That Color Intellij Plugin
This plugin lets you insert a name for a color you copy-paste or type in an android resource file.
Stars: ✭ 157 (+227.08%)
Mutual labels:  intellij-plugin, android-studio
BugKotlinDocument
Plugin for IntelliJ IDEA ┗😃┛ Android Studio ┗😃┛ CLion ┗😃┛ AppCode.
Stars: ✭ 29 (-39.58%)
Mutual labels:  intellij-plugin, android-studio
android-studio-plugin
Integrate your Android project with Crowdin
Stars: ✭ 52 (+8.33%)
Mutual labels:  intellij-plugin, android-studio-plugin
interstellar
Dark editor theme for JetBrains IDEs
Stars: ✭ 26 (-45.83%)
Mutual labels:  intellij-plugin, android-studio
dummytext-plugin
"Dummy Text Generator" plugin for Jetbrains IDEs
Stars: ✭ 31 (-35.42%)
Mutual labels:  intellij-plugin

Niddler Maven Central

Niddler has migrated on maven central to com.chimerapps.niddler:...!!!

Logo

Niddler is a network debugging utility for Android and java apps that caches network requests/responses, and exposes them over a websocket based protocol. It comes with a convenient interceptor for Square's OkHttpClient, as well as a no-op interceptor for use in release scenario's.

Niddler is meant to be used with Niddler-ui, which is a plugin for IntelliJ/Android Studio. When used together it allows you to visualize network activity, easily navigate JSON/XML responses, debug, ...

Example use (Android)

build.gradle:

//Ensure jcenter is in the repo list
debugCompile 'com.chimerapps.niddler:niddler:{latest version}'
releaseCompile 'com.chimerapps.niddler:niddler-noop:{latest version}'

Example usage with Android Application:

class NiddlerSampleApplication : Application() {

    override fun onCreate() {
        super.onCreate()

        val niddler = AndroidNiddler.Builder()
                    .setPort(0) //Use port 0 to prevent conflicting ports, auto-discovery will find it anyway!
                    .setNiddlerInformation(AndroidNiddler.fromApplication(this)) //Set com.niddler.icon in AndroidManifest meta-data to an icon you wish to use for this session
                    .setMaxStackTraceSize(10)
                    .build()

        niddler.attachToApplication(this) //Make the niddler service start whenever an activity starts

        //Create an interceptor for okHttp 3+
        val okHttpInterceptor = NiddlerOkHttpInterceptor(niddler, "Default")
        //Blacklist some items based on regex on the URL, these won't show up in niddler
        okHttpInterceptor.blacklist(".*raw\\.githubusercontent\\.com.*")

        //Create okhttp client. Note that we add this interceptor as an application layer interceptor, this ensures we see 'unpacked' responses
        //When using multiple interceptors, add niddler last!
        val okHttpClient = OkHttpClient.Builder()
                    .addInterceptor(okHttpInterceptor)
                    .build()

        // Every request done with this OkHttpClient will now be logged with Niddler

        //Advanced configuration, add stack traces when using retrofit
        val retrofitBuilder = Retrofit.Builder()
                    .baseUrl("https://example.com")
                    .client(okHttpClient)
                    ...

        //Inject custom call factory that adds stack trace information to retrofit
        NiddlerRetrofitCallInjector.inject(retrofitBuilder, niddler, okHttpClient)
        val retrofitInstance = retrofitBuilder.build()

        ...
    }

}

Calling niddler.attachToApplication(application) will launch a service with a notification. The service is partly bound to the lifecycle of your app, when activities start, it starts the server up. The notification provides visual feedback that Niddler is running, and allows you to stop the Niddler service. It is also a good reminder that Niddler is a debugging tool and not meant to be included in production apps.

Using the service is not required. You can also call niddler.start() and niddler.close() if you wish to start and stop Niddler manually.

Example use (Java)

build.gradle:

//Ensure jcenter is in the repo list (1.1.1 is the latest stable version)
debugCompile 'com.chimerapps.niddler:niddler-java:1.1.1'
releaseCompile 'com.chimerapps.niddler:niddler-java-noop:1.1.1'

Use with java application:

public class Sample {

    public static void main(final String[] args) {
        final JavaNiddlerNiddler niddler = new JavaNiddler.Builder("superSecretPassword")
                        .setPort(0)
                        .setNiddlerInformation(Niddler.NiddlerServerInfo("Example", "Example description"))
                        .build();

        final OkHttpClient okHttpClient = new OkHttpClient.Builder()
                        .addInterceptor(new NiddlerOkHttpInterceptor(niddler))
                        .build();

        niddler.start();

        //Run application
        // Every request done with this OkHttpClient will now be logged with Niddler

        niddler.close();
    }

}

For instructions on how to access the captured network data, see niddler-ui

Waiting for debugger attached

When launching android apps instrumented with the automatic niddler service, you can pass an intent extra to the starting activity that will force the app to 'wait' until a niddler debugger is connected.

You have to pass --ei Niddler-Wait-For-Debugger 1 to the activity manager (see the run configuration options dropdown in Android Studio) to enable this.

Session icons

Niddler supports reporting session icons to the UI since version 1.1.0. These icons provide an extra visual cue when browsing running sessions. You can pass the icon by passing it to the NiddlerServerInfo when building the niddler instance.

By default the following 4 icons are supported by the plugin: android, apple, dart, flutter. To use custom icons, place them in the .idea/niddler folder (square 20x20 or 40x40 @2x) with the name of file, the name of the icon

Android specific

Since v 1.1.1

When using the convenience method to create NiddlerServerInfo from an Android application context, you can pass the icon by setting it in the com.niddler.icon meta-data of the manifest.

Eg:

<application
        android:name=".NiddlerSampleApplication">

        <meta-data android:name="com.niddler.icon" android:value="android"/>

</application>
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].