InAppDevTools
Android library with a collection of tools for debugging, inspecting and reporting from within your own app
Install / Use
/learn @rafaco/InAppDevToolsREADME
A library to enhance the internal compilations of any Android app, adding useful tools for their early stage users. They can get info on what they are testing, send comprehensive crash reports and deeply inspect their running app on the go. It also bring a customizable team panel and other helpful tools, all within your app.
<p align="center"> <img src="https://github.com/rafaco/InAppDevTools/wiki/Lunatic/NonDevBanners/ScreenBanner1.gif" width="24%"> <img src="https://github.com/rafaco/InAppDevTools/wiki/Lunatic/NonDevBanners/ScreenBanner2.gif" width="24%"> <img src="https://github.com/rafaco/InAppDevTools/wiki/Lunatic/NonDevBanners/ScreenBanner3.gif" width="24%"> <img src="https://github.com/rafaco/InAppDevTools/wiki/Lunatic/NonDevBanners/ScreenBanner4.gif" width="24%"> </p> <p align="center"> <img src="https://github.com/rafaco/InAppDevTools/wiki/Lunatic/Devs/Screen1.gif" width="24%"> <img src="https://github.com/rafaco/InAppDevTools/wiki/Lunatic/Devs/Screen2.gif" width="24%"> <img src="https://github.com/rafaco/InAppDevTools/wiki/Lunatic/Devs/Screen3.gif" width="24%"> <img src="https://github.com/rafaco/InAppDevTools/wiki/Lunatic/Devs/Screen4.gif" width="24%"> </p>All your internal users (QA, managers, client, beta testers...) can get precise information on what they are testing and use an exclusive panel customized by the dev team with actions and resources. They also can send contextualized reports, which automagically include highly valuable information like repro steps, screenshots, crash details, full logs and environment info (app, build, repo status, device and OS).</p>
For developers this is conceptually similar to Chrome DevTools but packed inside your app, a revolutionary concept that enhance their daily compilations. We provide a complete set of tools to inspect, analyze and modify a running app from within it, without cable and on the go. It helps them to understand what's really happening underneath in order to highlight issues and bug causes. They also receive comprehensive reports, can customize our tools for others and can make use of some coding helpers.
Production users get neither any of our features nor apk size increase. They get a spotless app thoroughly polished in an agile development process, enhanced by our tools :)
Tools
Auto-logger, repro step generator, logcat viewer, crash handler, reports, source browser, layout inspector, component browser, storage editor, network activity, info panels (apk , build, repo, device and os), coding helpers and much more.
Characteristics
- Usable everywhere without cable, our UI overlap your app.
- Easy to install, just add our dependencies to your Gradle files.
- Careful with your releases, where everything will be auto disabled by default.
- Flexible to configure via Gradle extension.
- Handy integrations available to improve the experience of your testers and to assist your developers.
Features
<table border="0"> <tr><td width="2%" align="center" valign="top"><img src="https://github.com/rafaco/InAppDevTools/wiki/screenshots/Animated/Screenshots_Info.gif"></td><td>App and device info
Get detailed information about what are you testing and where. The build process (variant, type, date, machine, user, gradle versions, dependencies,...), the sources used (remote repo status, local repo, commits and change diffs...), the resulting app (manifest, version, namespace, signing, installation...), the device where is running (model, hardware, battery, sensors...) and their operative system (version, status, memory, storage, installed apps...).
Team resources and reports
Provide your own resources for your internal users via Gradle configuration (team name, description, build notes, external links and action buttons. Your users can easily send report directly to the development team. Reports can include a zip with all gathered data (environment info, logs, screenshots, crash details, network request, logic snapshot...).
Crash visualization and report
We intercept any exception and show details immediately, on the same screen where it happen. These details include app status, current activity, logs, screenshots and graphic stacktrace with navigation to causing source lines. Crashes can be reported via email and we will include a zip with all gathered details.
Logs, reproduction steps and advance events
Browse the standard logcat output from your sessions as you use your app. They are surrounded by our auto generated events to give you more context. Our event cover from basic reproduction steps (user interaction, navigation, network activity...) to advanced entries (lifecycle events, crashes, ANRs, device events...).
View inspector
Navigate through your current layout components by touching elements or by browsing your hierarchy. Modify xml properties straight away and see the results in your screen.
Browse you current components and their sources (tasks, activity and fragments), zoom your screen, measure elements and take screenshots.
Logic and network inspector
Get details about your running logic components (processes, threads, services, content providers and broadcast receivers) and inspect the network request/responses between your backend and your app. Browse and edit your storages (databases, shared preferences and files) and edit their values.
Setup <a name="setup"/>
You only need to modify 2 gradle files. On your root build.gradle file:
buidscript {...}
plugins {
id "es.rafaco.inappdevtools" version "0.0.58" apply false // 1.
}
allprojects {
repositories {
maven { url "https://jitpack.io"} // 2.
}
}
<details><summary align="center">Show details</summary><p>
- Add our plugin in your
pluginsclosure, which should be just beforebuildscript. - Add JitPack to
allprojects,repositories.
</br></p></details>
On your app module build.gradle file:
apply plugin: 'com.android.application'
apply plugin: 'es.rafaco.inappdevtools' // 1.
android {
...
}
dependencies {
releaseImplementation 'es.rafaco.inappdevtools:noop:0.0.58' // 2.
debugImplementation 'es.rafaco.inappdevtools:support:0.0.58' // 3.
//debugImplementation 'es.rafaco.inappdevtools:androidx:0.0.58'
}
inappdevtools { // 4.
enabled = true
teamName = 'YourTeam'
teamEmail = 'youremail@yourdomain.com'
notes = 'First build note, replace me on the next ones.'
}
<details><summary align="center">Show details</summary><p>
- Apply our plugin
- Add our
noopfor your release builds - Choose between
androidxorsupportfor your debug builds, according to the Android libraries in your proje
Related Skills
node-connect
346.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
107.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
346.8kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
346.8kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
