Android QA/Debug tools to speed up and streamline the development progress.

Last update: Apr 29, 2022

Android Dev Tools

Android Dev Tools is a library that contains various QA/Debug tools to speed up and streamline the development progress.

License Maven Central Maven Central Maven Central Maven Central Maven Central

Tools

Autofill Service

Autofill Service allows developers and QA to fill form inputs automatically with predefined form data.

How it Works?

It observes both activity and fragment lifecycle events via application class to detect layout inflations. After each inflation, it seeks for determined input views in the inflated layout. If it has all required inputs, then shows the autofill action. Autofill data that suitable with inflated form inputs are shown in the selection dialog.

Demo

Usage

AutofillService.Builder(this)
    .withFilePath("autofill.json")
    .build()

Configuration

Configuration Json file can be located in /debug/assets folder. You can define autofill data by following this structure. You should also note that the order of the defined form field resource id's and order of input values must match.

{
  "forms": [
    {
      "fields": ["inputEmail", "inputPassword"], // Form input resource id's
      "categories": {
        "Temporary Users": [
          { "description": "Has more then one order history.", "values": ["[email protected]", "123456"] },
          { "description": "Has more then one order history.", "values": ["[email protected]", "123456"] },
          { "description": "Has more then one order history.", "values": ["[email protected]", "123456"] },
          { "description": "Has more then one order history.", "values": ["[email protected]", "123456"] }
        ],
        "Test Users": [
          { "description": "Has more then one order history.", "values": ["[email protected]", "123456"] },
          { "description": "Has more then one order history.", "values": ["[email protected]", "123456"] },
          { "description": "Has more then one order history.", "values": ["[email protected]", "123456"] },
          { "description": "Has more then one order history.", "values": ["[email protected]", "123456"] }
        ]
      }
    }
  ]
}

Setup

"com.trendyol.android.devtools:autofill-service:$version"
"com.trendyol.android.devtools:autofill-service-no-op:$version"

Maven Central

Analytics Logger

Analytics Logger allows to log & inspect analytics events sent by client.

Demo

Usage

AnalyticsLogger.init(applicationContext)

AnalyticsLogger.report(
    key = "eventKey",
    value = "{\"category\": \"Cart\", \"data\": \"TestData\" }", // Should be Json string.
    platform = "EventPlatform",
)

Setup

"com.trendyol.android.devtools:analytics-logger:$version"
"com.trendyol.android.devtools:analytics-logger-no-op:$version"

Maven Central

Http Inspector (Alpha)

Http Inspector provides an OkHttp interceptor and web interface to inspect, manipulate in realtime and mock HTTP request and responses.

You can access the web client with http://deviceip:5001. If you are running on virtual a device, you need to forward port by adb forward tcp:5001 tcp:5001.

How it Works

Any request passing through the interceptor is held in the request queue to sync with each other. Held requests are being sent to the web interface via Ktor local webserver. After doing any changes in the response data using web interface, it waits for the acceptance, then sends manipulated response back to the request queue. The actual response data is replaced with the manipulated one and reflected to the application.

Mocking Requests

With this feature, we can imitate the API by preparing mock request and response data for the REST API that has not been prepared yet. It provides a web interface where we can create mock request and response data, and allows us to enable/disable the previously added mock data. The point to be considered is which requests will be answered with mock data rather than going to the real API is decided by comparing the URL, method and request body data of the request in the real request and mock data. If this data is completely matched, the mock response will be served to the client.

Usage

val client = OkHttpClient.Builder()
    .addInterceptor(MockInterceptor(context))
    .build()

Setup

"com.trendyol.android.devtools:http-inspector:$version"
"com.trendyol.android.devtools:http-inspector-no-op:$version"

Maven Central

Environment Manager

Environment Manager provides environment selection dialog can be opened from the app notifications with predefined environment data.

Setup

"com.trendyol.android.devtools:environment-manager:$version"

Maven Central

Debug Menu

Debug Menu provides a debug page build with predefined custom action and events.

Setup

"com.trendyol.android.devtools:debug-menu:$version"

Maven Central

License

Copyright 2022 Trendyol.com

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

GitHub

https://github.com/Trendyol/android-dev-tools
You might also like...

traffic debugging library for android

traffic debugging library for android

TrafficMonitor About Display traffic per Activity.Observing traffic is used by TrafficStats API. OkHttp Interceptor observer is implementing. Demo Bai

Feb 4, 2022

Sources for the LiveBoot app for rooted Android devices

This is the sauce for the LiveBoot app. License Copyright © 2011-2020 Jorrit Chainfire Jongma This code is released under the GPLv3. LICENSE, COPYING.

May 23, 2022

android logcat

android logcat

android logcat

Apr 13, 2022

A local ADB shell for Android!

LADB A local ADB shell for Android! How does it work? LADB bundles an ADB server within the app libraries. Normally, this server cannot connect to the

May 23, 2022

btrace(AKA RheaTrace) is a high performance Android trace tool which is based on Systrace

btrace(AKA RheaTrace) is a high performance Android trace tool which is based on Systrace

btrace README 中文版 btrace(AKA RheaTrace) is a high performance Android trace tool

May 17, 2022

Pluto: An on-device debugging framework for Android applications

Pluto is an on-device debugging framework for Android applications, which helps in the inspection of HTTP requests/responses, captures Crashes, and ANRs, and manipulates application data on the go.

May 6, 2022

🍼Debug Bottle is an Android runtime debug / develop tools written using kotlin language.

🍼Debug Bottle is an Android runtime debug / develop tools written using kotlin language.

🇨🇳 中文 / 🇯🇵 日本語 / 🇬🇧 English 🍼 Debug Bottle An Android debug / develop tools written using Kotlin language. All the features in Debug bottle are

May 18, 2022

🍼Debug Bottle is an Android runtime debug / develop tools written using kotlin language.

🍼Debug Bottle is an Android runtime debug / develop tools written using kotlin language.

🇨🇳 中文 / 🇯🇵 日本語 / 🇬🇧 English 🍼 Debug Bottle An Android debug / develop tools written using Kotlin language. All the features in Debug bottle are

Apr 20, 2022

Speed up your Android development

Caffeine Speed up your Android development! A collection of utility classes that help make Android development faster (and safer!) Examples No more un

Mar 1, 2022

🔥The Android Startup library provides a straightforward, performant way to initialize components at the application startup. Both library developers and app developers can use Android Startup to streamline startup sequences and explicitly set the order of initialization.

🔥The Android Startup library provides a straightforward, performant way to initialize components at the application startup. Both library developers and app developers can use Android Startup to streamline startup sequences and explicitly set the order of initialization.

🔥The Android Startup library provides a straightforward, performant way to initialize components at the application startup. Both library developers and app developers can use Android Startup to streamline startup sequences and explicitly set the order of initialization.

May 19, 2022

Stetho is a debug bridge for Android applications, enabling the powerful Chrome Developer Tools and much more.

Stetho Stetho is a sophisticated debug bridge for Android applications. When enabled, developers have access to the Chrome Developer Tools feature nat

May 17, 2022

Whereabouts: an android library which leverages Kotlin concurrency to streamline location fetching

Whereabouts Whereabouts is an android library which leverages Kotlin concurrency

Dec 28, 2021

VasSonic is a lightweight and high-performance Hybrid framework developed by tencent VAS team, which is intended to speed up the first screen of websites working on Android and iOS platform.

VasSonic is a lightweight and high-performance Hybrid framework developed by tencent VAS team, which is intended to speed up the first screen of websites working on Android and iOS platform.

VasSonic: A Lightweight And High-performance Hybrid Framework VasSonic is a lightweight and high-performance Hybrid framework developed by tencent VAS

May 17, 2022

A customizable debug screen to view and edit flags that can be used for development in Jetpack Compose applications

A customizable debug screen to view and edit flags that can be used for development in Jetpack Compose applications

Tweaks A customizable debug screen to view and edit flags that can be used for development in Jetpack Compose applications To include the library add

Jan 14, 2022

Tweaks - A customizable debug screen to view and edit flags that can be used for development

Tweaks - A customizable debug screen to view and edit flags that can be used for development

A customizable debug screen to view and edit flags that can be used for developm

Mar 4, 2022

A program to calculate the distance traveled during the run the calories burned and the average speed Display data in more than one way using a graph

A program to calculate the distance traveled during the run the calories burned and the average speed Display data in more than one way using a graph

Running App Features: A program to calculate the distance traveled during the run the calories burned and the average speed Display data in more than

Dec 8, 2021

Android library providing an implementation of the Material Design Floating Action Button Speed Dial.

Android library providing an implementation of the Material Design Floating Action Button Speed Dial.

Android library providing an implementation of the Material Design Floating Action Button Speed Dial.

Apr 21, 2022

A Gradle plugin that helps you speed up builds by excluding unnecessary modules.

🧘 Focus A Gradle plugin that generates module-specific settings.gradle files, allowing you to focus on a specific feature or module without needing t

May 15, 2022
Comments
  • 1. Feature/analytics logger

    A devTools module to inspect sent analytics events.

    Usage:

    AnalyticsLogger.init(this)
    
     AnalyticsLogger.report(
          key = "OnMainFragmentSeenEvent",
          value = EventModel("TestAction", "TestCategory", "TestScreen"),
          platform = EventPlatform.FIREBASE,
      )
    

    Screenshots: Screenshot_1643628048 image image

    Reviewed by ibrahimsn98 at 2022-01-31 11:30
  • 2. Fix/update package structure

    -> Modules are separated as:

    • core
    • autofill-service
    • environment-manager
    • debug-menu

    -> Prevented autofill module META-INF exclude requirement on implemented app

    Reviewed by ibrahimsn98 at 2021-12-19 15:02
Under the Hood is a flexible and powerful Android debug view library. It uses a modular template system that can be easily extended to your needs, although coming with many useful elements built-in.
Under the Hood is a flexible and powerful Android debug view library. It uses a modular template system that can be easily extended to your needs, although coming with many useful elements built-in.

Under the Hood - Android App Debug View Library Under the Hood is a flexible and powerful Android debug view library. It uses a modular template syste

Apr 15, 2022
A view that makes it easy to debug response data.(一个可以方便调试响应数据的视图。)
A view that makes it easy to debug response data.(一个可以方便调试响应数据的视图。)

JSONRecyclerView 该控件可以方便调试响应数据,如下图所示: 控件的样式参考以下这个网站: JSON在线解析解析及格式化验证 项目的GitHub:JSONRecyclerView 项目Demo的GitHub:JSONRecyclerViewDemo 概述 控件是以RecyclerVie

Nov 11, 2021
🔪Swiss-army knife for Android testing and development 🔪 ⛺
🔪Swiss-army knife for Android testing and development 🔪 ⛺

ADB Enhanced ADB-Enhanced is a Swiss-army knife for Android testing and development. A command-line interface to trigger various scenarios like screen

May 17, 2022
A library for debugging android databases and shared preferences - Make Debugging Great Again
A library for debugging android databases and shared preferences - Make Debugging Great Again

Android Debug Database Android Debug Database is a powerful library for debugging databases and shared preferences in Android applications Android Deb

May 15, 2022
A Read-Eval-Print-Loop server for Android and SQLite

Android DebugPort Android DebugPort is a drop-in utility which allows you to write and execute code within your app's context, at runtime, and from th

Mar 29, 2022
Easy android exception tracer and handler.
Easy android exception tracer and handler.

Introduction Lup is a small android library that can help you to tracking bug that causes application stopped working (force close). Whiting this libr

Oct 12, 2021
Cordova plugin for Android Serial USB communication (easily connect an Arduino board to an Android device).

PR-DC cordova-plugin-serialusb Cordova plugin for Android Serial USB communication. This plugin makes a connection to the external board trivial, for

May 8, 2022
Android library to record the network calls through the interceptor mechanism of the http clients.
Android library to record the network calls through the interceptor mechanism of the http clients.

Android Snooper Introduction Android Snooper is a library which helps in debugging issues while running the applications on android devices. One of th

May 2, 2022