+Datadog cannot guarantee the Android and Android TV SDK's performance on Roku devices running with Android OS. If you encounter any issues when using the SDK for these devices, contact
Datadog Support or open an issue in our GitHub project.
+
## Contributing
@@ -97,3 +117,10 @@ Pull requests are welcome. First, open an issue to discuss what you would like t
## License
[Apache License, v2.0](LICENSE)
+
+[1]: https://docs.datadoghq.com/logs/log_collection/android/?tab=kotlin
+[2]: https://docs.datadoghq.com/real_user_monitoring/android/?tab=kotlin
+[3]: https://app.datadoghq.com/logs
+[4]: https://app.datadoghq.com/apm/services
+[5]: https://app.datadoghq.com/rum/explorer
+[6]: https://docs.datadoghq.com/real_user_monitoring/mobile_and_tv_monitoring/troubleshooting/android/
\ No newline at end of file
diff --git a/ZEN.md b/ZEN.md
index 3bdfef143c..c4cf18e433 100644
--- a/ZEN.md
+++ b/ZEN.md
@@ -32,7 +32,7 @@ This SDK lives in our customer’s applications, and is run on end users devices
## Compatibility
- Support old versions of the OS’s
- - Android: KitKat (5 years old)
+ - Android: Lollipop (released in 2014)
- Support all main languages; especially the behavior should be the same for any language, but can be enhanced for modern languages.
- Android: Java/Kotlin
- Support vanilla flavors of the OS first, and add possible extensions for derived flavors of the OSs (Watch, TV, …)
diff --git a/build.gradle.kts b/build.gradle.kts
index edd45c4b44..aec271aaad 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -3,25 +3,38 @@
* This product includes software developed at Datadog (https://www.datadoghq.com/).
* Copyright 2016-Present Datadog, Inc.
*/
+@file:Suppress("StringLiteralDuplication")
+
+import com.android.build.gradle.LibraryExtension
+import com.datadog.gradle.config.AndroidConfig
+import com.datadog.gradle.config.registerSubModuleAggregationTask
+import org.gradle.api.internal.file.UnionFileTree
+import org.gradle.api.internal.tasks.DefaultTaskDependencyFactory
+import java.util.Properties
+
+plugins {
+ `maven-publish`
+ alias(libs.plugins.nexusPublishGradlePlugin)
+}
+
+version = AndroidConfig.VERSION.name
buildscript {
repositories {
google()
mavenCentral()
maven { setUrl(com.datadog.gradle.Dependencies.Repositories.Gradle) }
- jcenter()
}
dependencies {
- classpath(com.datadog.gradle.Dependencies.ClassPaths.AndroidTools)
- classpath(com.datadog.gradle.Dependencies.ClassPaths.AndroidBenchmark)
- classpath(com.datadog.gradle.Dependencies.ClassPaths.Kotlin)
- classpath(com.datadog.gradle.Dependencies.ClassPaths.KtLint)
- classpath(com.datadog.gradle.Dependencies.ClassPaths.Dokka)
- classpath(com.datadog.gradle.Dependencies.ClassPaths.Bintray)
- classpath(com.datadog.gradle.Dependencies.ClassPaths.Unmock)
- classpath(com.datadog.gradle.Dependencies.ClassPaths.Realm)
- classpath(com.datadog.gradle.Dependencies.ClassPaths.SQLDelight)
+ classpath(libs.androidToolsGradlePlugin)
+ classpath(libs.kotlinGradlePlugin)
+ classpath(libs.kotlinSPGradlePlugin)
+ classpath(libs.dokkaGradlePlugin)
+ classpath(libs.unmockGradlePlugin)
+ classpath(libs.sqlDelightGradlePlugin)
+ classpath(libs.binaryCompatibilityGradlePlugin)
+ classpath(libs.kotlinxSerializationPlugin)
}
}
@@ -30,83 +43,81 @@ allprojects {
google()
mavenCentral()
maven { setUrl(com.datadog.gradle.Dependencies.Repositories.Jitpack) }
- jcenter()
- flatDir { dirs("libs") }
+ }
+}
+
+nexusPublishing {
+ this.repositories {
+ sonatype {
+ stagingProfileId = "378eecbbe2cf9"
+ val sonatypeUsername = System.getenv("CENTRAL_PUBLISHER_USERNAME")
+ val sonatypePassword = System.getenv("CENTRAL_PUBLISHER_PASSWORD")
+ if (sonatypeUsername != null) username.set(sonatypeUsername)
+ if (sonatypePassword != null) password.set(sonatypePassword)
+ // see https://github.com/gradle-nexus/publish-plugin#publishing-to-maven-central-via-sonatype-central
+ // For official documentation:
+ // staging repo publishing https://central.sonatype.org/publish/publish-portal-ossrh-staging-api/#configuration
+ // snapshot publishing https://central.sonatype.org/publish/publish-portal-snapshots/#publishing-via-other-methods
+ nexusUrl.set(uri("https://ossrh-staging-api.central.sonatype.com/service/local/"))
+ snapshotRepositoryUrl.set(uri("https://central.sonatype.com/repository/maven-snapshots/"))
+ }
}
}
task