Back to rankings

willowtreeapps/Hyperion-Android

Java

App Debugging & Inspection Tool for Android

designreviewhyperionandroiddebugdrawerlibrarymeasureinspect
Star Growth
Stars
2k
Forks
150
Weekly Growth
Issues
53
1k1.5k
Apr 2018Jan 2021Oct 2023Jul 2026
ArtifactsMavengit clone https://github.com/willowtreeapps/Hyperion-Android.git
README

Hyperion

Build & Release to Maven Central Maven Central License MIT Public Yes

Hyperion Logo

Hyperion - App Inspection Tool

What is it?

Hyperion is a hidden plugin drawer that can easily be integrated into any app. The drawer sits discreetly 🙊 under the app so that it is there when you need it and out of the way when you don't. Hyperion plugins are designed to make inspection of your app quick and simple.

Please see our announcement blog post for a feature showcase.

Demo Attribute inspector

Third-Party Plugins

Be one of the first to create a third-party plugin. The plugin creation guide is a work in progress, but if you are feeling ambitious you can reference the plugins we have already created.

To create your own plugin, implement the Plugin interface and expose the implementation as a service. The plugins made available in this repository leverage Google's AutoService annotation processor to generate the service metadata and simplify the process.

How To Show Hyperion Plugin List

Once Hyperion is integrated into your app, simply shake your phone to activate. If you are running your app on an emulator, you can manually open the menu by calling Hyperion.open(Activity activity). You can also open the menu by selecting the foreground notification that appears while the client app is in the foreground.

Conditional Startup

Hyperion enables itself automatically for all Activities in your application. To disable for specific Activities, annotate them with @HyperionIgnore. To disable for all Activities, set a meta-data field in your AndroidManifest.xml:

    <meta-data
        android:name="com.willowtreeapps.hyperion.core.enableOnStart"
        android:value="false"/>

Hyperion#open(Activity) will have no affect if Hyperion has not been enabled. You can reenable for future Activities with Hyperion.enable().

To embed the Hyperion Plugin Menu into your own Activity, acquire a PluginViewFactory from Hyperion#getPluginViewFactory and call create(Activity):

View pluginView = Hyperion.getPluginViewFactory().create(activity);

See FactoryActivity for more details.

Sample App

Want to learn how to use Hyperion? The sample app will teach you!

Build the example project by cloning the repo, run ./gradlew assemble from the root directory, then open in Android Studio and run.

Requirements

min SDK 15

Download


Download via Maven:

<dependency>
  <groupId>com.willowtreeapps.hyperion</groupId>
  <artifactId>hyperion-core</artifactId>
  <version>0.9.38</version>
</dependency>

or Gradle:

debugImplementation 'com.willowtreeapps.hyperion:hyperion-core:0.9.38'

If you reference Hyperion from your code, you should also compile the no-op artifact for release variants. For most users, this will not be necessary:

releaseImplementation 'com.willowtreeapps.hyperion:hyperion-core-no-op:0.9.38'

Usage


Include the core library along with any number of plugins.

debugImplementation 'com.willowtreeapps.hyperion:hyperion-core:0.9.38'
debugImplementation 'com.willowtreeapps.hyperion:hyperion-attr:0.9.38'
debugImplementation 'com.willowtreeapps.hyperion:hyperion-build-config:0.9.38'
debugImplementation 'com.willowtreeapps.hyperion:hyperion-crash:0.9.38'
debugImplementation 'com.willowtreeapps.hyperion:hyperion-disk:0.9.38'
debugImplementation 'com.willowtreeapps.hyperion:hyperion-geiger-counter:0.9.38'
debugImplementation 'com.willowtreeapps.hyperion:hyperion-measurement:0.9.38'
debugImplementation 'com.willowtreeapps.hyperion:hyperion-phoenix:0.9.38'
debugImplementation 'com.willowtreeapps.hyperion:hyperion-recorder:0.9.38'
debugImplementation 'com.willowtreeapps.hyperion:hyperion-shared-preferences:0.9.38'
debugImplementation 'com.willowtreeapps.hyperion:hyperion-timber:0.9.38'

Adding Plugins

Hyperion plugins need to be added into the app at build time. By default, Hyperion automatically finds every plugin that is available in the project using the Java Service Locator.

Contributing to Hyperion

Contributions are welcome. Please see the Contributing guidelines.

Hyperion has adopted a code of conduct defined by the Contributor Covenant, the same used by the Swift language and countless other open source software teams.

Plugin Descriptions

The following is a list of all plugins that integrate with Hyperion. Please make a pull request if you would like to see your plugin here:

Core Plugins

Third Party Plugins

License

Hyperion is available under the MIT license. See the LICENSE file for more info.

About WillowTree

WillowTree Logo

We build apps, responsive sites, bots—any digital product that lives on a screen—for the world’s leading companies. Our elite teams challenge themselves to build extraordinary experiences by bridging the latest strategy and design thinking with enterprise-grade software development.

Interested in working on more unique projects like Hyperion? Check out our careers page.

Related repositories
donnemartin/system-design-primer

Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.

PythonPyPIOtherprogrammingdevelopment
358.7k57.3k
Leonxlnx/taste-skill

Taste-Skill - gives your AI good taste. stops the AI from generating boring, generic slop

JavaScriptnpmMIT Licenseagentai
tasteskill.dev
66.1k4.6k
penpot/penpot

Penpot: The open-source design platform for Product teams that need scalable collaboration.

ClojureMozilla Public License 2.0ux-designux-experience
penpot.app
57.1k3.8k
jgthms/bulma

Modern CSS framework based on Flexbox

CSSnpmMIT Licensecsshtml
bulma.io
50.1k3.9k
tldraw/tldraw

Build infinite canvas apps in React with the tldraw SDK. World's best, top-most agent recommended #1 five star SDK.

TypeScriptnpmOtherdrawingsketch
tldraw.dev
49.1k3.4k
goabstract/Awesome-Design-Tools

The best design tools and plugins for everything 👉

JavaScriptnpmMIT Licensedesigndesign-tools
40.6k2.3k
Dogfalo/materialize

Materialize, a CSS Framework based on Material Design

JavaScriptnpmMIT Licensedesigncss
materializecss.com
38.8k4.6k
nextcloud/server

☁️ Nextcloud server, a safe home for all your data

PHPPackagistGNU Affero General Public License v3.0open-sourcefile-sharing
nextcloud.com
36.2k5.1k
chatwoot/chatwoot

Open-source live-chat, email support, omni-channel desk. An alternative to Intercom, Zendesk, Salesforce Service Cloud etc. 🔥💬

RubyRubyGemsOthervuejsintercom
chatwoot.com/help-center
34.6k8.3k
GraphiteEditor/Graphite

Community-built comprehensive 2D content creation appplication for graphic design, digital art, and interactive real-time motion graphics powered by a node-based procedural graphics engine

Rustcrates.ioApache License 2.0graphics-editorphoto-editor
graphite.art
26.6k1.2k
onlook-dev/onlook

The Cursor for Designers • An Open-Source AI-First Design tool • Visually build, style, and edit your React App with AI

TypeScriptnpmApache License 2.0reacttypescript
onlook.com
26.2k2k
simple-icons/simple-icons

SVG icons for popular brands

JavaScriptnpmCreative Commons Zero v1.0 Universalbrandbranding
simpleicons.org
25.5k3.1k