Skip to content
Rafael Acosta edited this page Jan 28, 2021 · 10 revisions

Host app compatibility

  • Android minSdkVersion: API 14 - Ice Cream Sandwich
  • Android minSdkVersion real: API 16 - Jelly Bean. Internally disabled for API 14-15 devices
  • Android libraries: AndroidX and Support
  • Gradle version: //TODO
  • Sources: Java and Kotlin
  • Java version: Java 7 and Java 8

Detailed Setup

To start using InAppDevTools you have to add our plugin and our library to your project. You have to use the same version for both of them. Latest version

Go to your root module and open the build.gradle file:

  1. Add our plugin to your plugins or add this closure right below buildscript.
  2. Add JitPack to allprojects repositories if you don't already have it.
buidscript {...}

plugins {
    id "es.rafaco.inappdevtools" version "0.0.54" apply false
}

allprojects {
    repositories {
        maven { url "https://jitpack.io"}
    }
}

Then go to your app module and open the build.gradle file:

  1. Apply our plugin
  2. Include our libraries in your dependencies list.
apply plugin: 'com.android.application'
apply plugin: 'es.rafaco.inappdevtools'

android {...}

dependencies {
    debugImplementation 'es.rafaco.inappdevtools:androidx:0.0.54'
    //debugImplementation 'es.rafaco.inappdevtools:support:0.0.54'
    
    releaseImplementation 'es.rafaco.inappdevtools:noop:0.0.54'
}

For the library you have to choose between androidx or support artifacts according to the Android libraries used in your project. noop artifact is also available.

ArtifactId Description
support For legacy projects using Android Support libraries.
androidx For modern projects using AndroidX libraries.
noop No operational, for your release compilations. Compatible with AndroidX and Support projects.

For AndroidX we currently required Jetifier enabled (transitive). Check it on your root module in gradle.properties file:

android.useAndroidX=true
android.enableJetifier=true

Ready to go. Just run a debug build and you will see our welcome dialog.

Hybrid Apps

We don't currently support them but you can use our library in the android compilations of your hybrid framework to inspect the standard Android part of your running app. You have to perform the same previous steps but within the android folder of your project, then:

  • Flutter: Modify your pubspec.yaml file to include the assets generated by our plugin: build/app/generated/assets/.
  • Cordova: TODO
  • React Native: TODO
  • Ionic: TODO

A plugin for each framework are in mind but with low priority. It could automate the installation, extends info panels, fire platform events, redirect logs, include sources and inspect view (dart or webview). Join us and take this task :)

Including additional Gradle modules (optional)

You can include your sources from other submodules on your project. We currently only support Android modules: Application, Library or Feature.

To do so just apply our plugin to their build.gradle file:

apply plugin: 'es.rafaco.inappdevtools'

Granting overlay permissions via ADB

Our library require drawing over other apps permissions, which should be manually granted by the user. On MDM devices, the granting activity are usually blocked and you can not do it by tapping. A workaround is to grant the permission from a computer using the following ADB command just after installing the apk:

adb shell pm grant [YOUR_APPLICATION_ID] android.permission.SYSTEM_ALERT_WINDOW