用途
该技能面向已有 Android 项目(Kotlin 或 Java),为其接入 Dynatrace Mobile Agent,实现基础监控。范围限定为“从零到首个事件”的初始埋点,超出初始接入范围的内容(自定义操作、崩溃分组、数据隐私策略等)需直接参考 Dynatrace 官方文档。
主要能力
技能按阶段执行:
- 预检:确认当前目录是 Android 项目根目录(存在 settings.gradle.kts 或 settings.gradle),并校验最低要求——Gradle 7.0.2、Android Gradle Plugin (AGP) 7.0、JVM Java 11。通过 ./gradlew --version(Windows 为 gradlew.bat --version)检查 Gradle 与实际使用的 JVM,不使用 java -version。
- 检测已有配置:在构建文件中查找 dynatrace { } 或 configure<com.dynatrace.tools.android.dsl.DynatraceExtension> { } 块,提取 applicationId 与 beaconUrl 作为预填值。
- 收集输入:向用户询问 applicationId 与 beaconUrl(可在 Dynatrace 租户中已创建的移动应用内找到),并确认是否启用会话回放(session replay)。
- 定位文件:读取 settings 文件找出所有模块,筛选应用了 com.android.application 插件的模块作为 APP_MODULE(排除 apply false 与 buildSrc/ 下的结果)。查找入口点文件:优先 Application 子类,否则回退到 AndroidManifest.xml 中的启动 Activity。
- 埋点:在根构建文件中应用 com.dynatrace.instrumentation 插件,添加 classpath 依赖 com.dynatrace.tools.android:gradle-plugin:8.+,并写入 Dynatrace 配置块(applicationId、beaconUrl、userOptIn(true)、agentBehavior.startupLoadBalancing(true)、agentBehavior.startupWithGrailEnabled(true),以及按需的 sessionReplay.enabled(true))。在入口点文件中添加隐私选项调用 Dynatrace.applyUserPrivacyOptions(...),包含 DataCollectionLevel.USER_BEHAVIOR、withCrashReportingOptedIn(true),会话回放启用时再加 withScreenRecordOptedIn(true)。
- 构建与验证:发现可用的 assemble 任务并运行,构建成功即确认插件接入正确。
使用方式
技能以对话方式驱动:先执行预检与检测,再向用户收集必要输入,随后自动定位并修改构建文件与入口点源码,最后运行构建验证。修改前会记录原始内容;任一步骤失败即停止、报告失败原因并回滚所有改动,不会留下部分埋点的状态。
适用场景
适用于需要为现有 Android 项目快速接入 Dynatrace 基础监控的开发者,尤其是希望自动化完成 Gradle 插件配置与隐私选项初始化的场景。
限制
仅覆盖基础接入,不处理自定义操作、崩溃分组、数据隐私策略等进阶配置。要求项目满足 Gradle 7.0.2、AGP 7.0、Java 11 的最低版本。若目录不是 Android 项目根目录或找不到应用 com.android.application 插件的模块,技能会停止并报告。