-
-
Notifications
You must be signed in to change notification settings - Fork 6
Configurations
You can easily configure our library behaviour at build time by using our gradle extension on your app module's build.gradle. This configuration also affect our plugin behaviour and cleaning your app's data will restore to this values.
apply plugin: 'es.rafaco.inappdevtools'
inappdevtools {
enabled = true
notes = 'This compilation fix the following issues:..'
teamEmail = '[email protected]'
}
All available properties with descriptions can be found in next section.
You can also override your build configuration at run time from our UI (Overlay toolbar > More > Setting) or programmatically calling us from your sources. Runtime values will be lost when cleaning your app data, restoring the build ones from our gradle extension.
Iadt.getConfig().setBoolean(BuildConfigField.ENABLED, false);
Iadt.restartApp();
These are the most important ones as they configure our plugin behaviour and can enable/disable our library on your compilations.
Property | Type | Default | Description |
---|---|---|---|
enabled |
boolean | true | Disable all and simulate the no-op library and plugin |
enabledOnRelease |
boolean | false | Force enabling our library for release builds of your app. Warning, read Exposed sources disclaimer |
debug |
boolean | false | Enable debug mode for the library. It print extra logs and include our sources to your compilation |
Following flags are only using on runtime and allows to improve the experience of internal users.
Property | Type | Default | Description |
---|---|---|---|
notes |
String | null | Compilation notes to show on welcome dialog, build and team screen |
teamName |
String | null | Short name for your team, shown in home and team screen |
teamDesc |
String | null | Long text about your team or anything else that you want to shown in team screen |
teamEmail |
String | null | Default email to use for reports |
teamLinks |
Map[String:String] | null | Collection of links to shown in team screen. Use Groovy map of name:url |
Following flags allows to enable/disable some of our features excluding them from build. They affect your compilation and can not be enabled in runtime.
Property | Type | Default | Description |
---|---|---|---|
sourceInclusion |
boolean | true | Disable including this module sources in your apk. Read Exposed sources disclaimer |
sourceInspection |
boolean | true | Disable source features and source inclusion. Read Exposed sources disclaimer |
networkInspection |
boolean | true | Disable network interceptor and inspection feature. Auto disabled if Pandora startup failed. |
Following flags allows to enable/disable some of our features at runtime.
Property | Type | Default | Description |
---|---|---|---|
viewInspection |
boolean | true | Disable view inspection feature. Auto disabled if Pandora startup failed. |
storageInspection |
boolean | true | Disable storage inspection features. Auto disabled if Pandora startup failed. |
overlayEnabled |
boolean | true | Disable our overlay interface |
invocationByShake |
boolean | true | Disable opening our UI on device shake |
invocationByIcon |
boolean | true | Enable a permanent overlay icon to open our UI |
invocationByNotification |
boolean | false | Show a permanent notification to open the UI. Warning: it currently use a foreground service so your app will not be killed on background |
callDefaultCrashHandler |
boolean | false | Propagate unhandled exceptions to the default handler (for Crashlytics and similar) |
injectEventsOnLogcat |
boolean | true | Inject IadtEvents on logcat to see them on the standard Logcat output. |
Our goal is to enhance your internal compilation without interfering in your production compilations. Our default configuration assume that your debug compilations are for internal use and your release ones are for production, but you can adjust it.
You can disable our library and plugin in your debug builds by setting enabled = false
in configuration or using our noop
library. Read more.
We have a release protection mechanism to auto-disable everything on your release builds even if you forget to use our noop
artifact or if your configuration have enabled = true
. On release builds, our plugin will not perform any of their tasks and our androidx
and support
libraries will behave like the noop
one.
To enable our library and plugin in your release builds you have to explicitly override our protection mechanism by setting enabledOnRelease = true
in configuration. Read more.
This is our main on/off switch. Setting enabled = false
will disable our plugin and our library in your compilations.
TODO: Show how to redefine it per variant
You can disable our release protection mechanisms and enable our library in your release builds, which can be useful for beta versions or internal distributions using release builds. To do so, include enabledOnRelease = true
in your configuration.
Remember that you also need to stop using our noop
artifact in your release dependencies. Replace it by any of our operational ones: androidx
or support
.
When this library is enabled, your source code get exposed to anyone who get your APK. It can be navigate and visualize throw our UI and someone could also extract them un-compiled from your APK file.
If you don't want to show all or some of your proprietary sources in your internal builds, you have few options:
(TODO) Exclude concrete source files by configuration. Useful for specific files with sensible information like passwords, api keys,...- Disable source inclusion by configuration, using
sourceInclusion = false
. Your apk will not include your sources but assets inspection will be available in our overlay. - Disable source inspection by configuration, using
sourceInspection = false
. Your apk will not include your sources and our interface will not show your assets.
- Disable our library by configuration, using
enabled = false
. Your apk will not include your sources and all our features will be disabled but in your apk. - Disable our library by using the
noop
dependency. No source included, all disabled and with minimal apk size increase.
Disabling source inclusion or source inspection you also lost the following features: browse sources, view source, share source and stacktrace navigation throw your source lines.