JRebel for Android Enterprise

Incremental compiler
with annotation processor support

JRebel for Android Enterprise includes a unique incremental Java compiler that fully supports annotation processors. This further reduces time you spend on applying code changes.

ENTERPRISE

Incremental Android resources processing (experimental)

JRebel for Android Enterprise ships with a custom version of AAPT2 to enable incremental resource packaging. This means that only the layouts and strings that have changed from build to build get processed, further reducing time you spend on applying changes to Android resources.

ENTERPRISE

Custom integration for your annotation processors

Have a custom annotation processor library that isn’t already supported by JRebel for Android? Let us know at android@zeroturnaround.com and we will add support, fast!

ENTERPRISE

3 android phones

Develop on multiple devices (coming soon)

Attach to up to six different Android tablets or mobile devices simultaneously to see changes applied across all the connected devices. Works best for updating resources on different form factors, get it pixel perfect on the first try.

ENTERPRISE

Core functionality

Instant code and resource updates

Picks up your application code changes and skips building a new APK for each edit. Any code or resources you change are transferred in incremental packages.

ENTERPRISE
FREE

Maintains application state

Top-most activity is restarted for more than 12 change types, but the activity stack remains unchanged — like you would flip your device from portrait to landscape. Only changing the class hierarchy or AndroidManifest will require an app restart.

ENTERPRISE
FREE

Debugger integration

Debug an application directly by using “Debug with JRebel for Android” to install the application or to attach it to a running process. You can continue updating the code and resources when debugger is attached to get instant insight into the application.

ENTERPRISE
FREE

Multidex

JRebel for Android Enterprise supports applications with multidex configured to prevent you from hitting the magical 65536 method count limit.

ENTERPRISE
FREE

JNI linking

You can use JRebel for Android with projects that use JNI linking for native code. When you want to update the native code, an application reinstall is required.

ENTERPRISE
FREE

language logos

More than Java

JRebel for Android works on a bytecode level. This way we can support all JVM languages while keeping ART and Dalvik compatibility. Write your apps with Gradle integration in any language: Kotlin, Scala, Groovy or Java.

ENTERPRISE
FREE

How does it differ from Instant Run?

jra_laptop_mobile

Incremental Java compiler

JRebel for Android comes with a unique incremental Java Compiler. This supports popular annotation processor libraries (Dagger2, Butterknife etc.). Compilation times are now significantly faster.
In fact, times are sped up by up to 800%

ENTERPRISE
jra_restart

Hot swap more, restart less

With JRebel for Android’s extensive support of more than 12 different types of code and resource changes. You will wait less and get more done.

jra_droid

Broader Android version support

Android versions from 4.0.3 are supported. You can take advantage of JRebel for Android when working with older Android versions.

jra_languages

Expanded language choices

JRebel for Android supports Kotlin, Scala and Groovy. And of course Java.

Preserving app state

JRebel for Android header

Instant Run

Modify method body

yes yes

Add and remove method

yes

Modify method definition

yes

Adding and removing fields

yes

Adding and removing classes

yes

Adding and removing inner classes

yes

Adding and removing annotations

yes

Adding, removing and modifying static fields value

yes

Adding and removing enum values

yes

Modifying interfaces

yes

Adding, removing and modifying XML resource

yes yes

Adding new resource with ID

yes

Adding and removing implemented interfaces

Replacing superclasses

API level

15 and later

15 and later*

Supported languages

Java, Kotlin, Scala, Groovy

Java

Changes persist after app restart

All (both cold and hot swaps)

Only cold swapped

Changes persist after clearing application data

All (both cold and hot swaps)

Only cold swapped

Applying changes in Debug mode

All (both cold and hot swaps)

Cold swaps

Java compiler

Incremental compiler with annotation processors support

ENTERPRISE

Gradle’s incubating incremental

Incremental Android resources processing
(experimental)

yes
ENTERPRISE

Custom annotation processors
integration for incremental Java compiler

yes
ENTERPRISE

*Structural changes before API Level 21 are always handled with a full APK reinstall.

jra_install

How do I get JRebel for Android?

  1. Double-press ⇧ Shift in IntelliJ or Android Studio and search for Plugins
  2. Press Plugins and then Browse Repositories
  3. Search for JRebel for Android and press Install plugin