This Gradle plugin helps make the OneSignal Android SDK compatible with your Android Studio / Gradle project. It automatically fixes and notifies you of required changes to make the OneSignal SDK compatible with your app.
- In your root
build.gradle
, underbuildscript
, add the following 2 new lines to your existingrepositories
anddependencies
sections
buildscript {
repositories {
// ...
gradlePluginPortal()
}
dependencies {
// ...
// OneSignal-Gradle-Plugin
classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.14.0, 0.99.99]'
}
}
- Add the following to the top of your
app/build.gradle
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
- Android Studio - Sync gradle
- Clean and rebuild
- Automatically aligns versions of module dependencies under the same group. This fixes compile and runtime errors due to mismatched interdependencies.
Applies to the following libraries:
com.google.android.gms
com.google.firebase
com.android.support
- Ensures
com.android.support
is never higher thancompileSdkVersion
- Ensures a compatible OneSignal SDK version for the
targetSdkVersion
you're using - Ensures new enough OneSignal SDK is included when
com.android.support
is upgraded - Calculates intersecting range of 2 version ranges
- Including backwards capability with Gradle 2.14.1
- Future: Other warnings and checks specific to OneSignal such as app_id and notification icons
- Recommend using AGP 3.0.0 or newer (Android Gradle Plugin) and Gradle 4.1 or newer.
- Compatible with Gradle 2.14.1+ and AGP 2.2.3+
- Tested up to Gradle 7.0.2 and AGP 4.2.1
See this repository's release tags for a complete change log.
Please create a new issue on this repository's Github issue tracker for feature requests and bug reports related specifically to this plugin. For other OneSignal issues not related to this plugin please contact OneSignal support from the OneSignal.com dashboard.
You can add --info
to ./gradlew
commands such as ./gradlew app:dependencies --info
to see log entries of version overrides being applied.
Pull requests are welcome! Please fork, create a new branch, and open a pull request. Also please add a test to MainTest.groovy
verify your changes.