# SDKstartup **Repository Path**: ym521/sdkstartup ## Basic Information - **Project Name**: SDKstartup - **Description**: SDKStartup 是一个轻量级、高性能的 Android SDK 初始化框架,基于 Kotlin Coroutines 实现,支持并发初始化、线程控制、延时任务等功能,帮助开发者优雅地管理多个 SDK 的初始化流程。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-24 - **Last Updated**: 2026-05-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SDKStartup #### 介绍 SDKStartup 是一个轻量级、高性能的 Android SDK 初始化框架,基于 Kotlin Coroutines 实现,支持并发初始化、线程控制、延时任务等功能,帮助开发者优雅地管理多个 SDK 的初始化流程。 #### 软件架构 - **语言**: Kotlin - **最低支持**: Android 5.0 (API 21) - **核心依赖**: - androidx.lifecycle:lifecycle-runtime-ktx - Kotlin Coroutines - **架构特点**: - 基于 Coroutine 的异步并发初始化 - 支持主线程/子线程任务分发 - 支持普通任务和延时任务 - 生命周期感知,自动清理回调 - 链式调用 API,使用简洁 #### 使用说明 ```kotlin SDKStartup // 添加普通任务(默认在子线程执行) .addTask(Task.create(this) { app -> Log.d("MyApp", "初始化 SDK A") }) .addTask(Task.create(this) { app -> Log.d("MyApp", "初始化 SDK B") }) // 添加主线程任务 .addTask(Task.create(this, isMainThread = true) { app -> Log.d("MyApp", "在主线程初始化 SDK C") }) // 添加延时任务(需要手动触发) .addTask(Task.create(this, delayTask = true) { app -> delay(1000) Log.d("MyApp", "延时初始化 SDK D") }) // 启动初始化 .start() ``` ```kotlin // 模拟用户同意隐私协议 1 秒后触发延时任务 lifecycleScope.launch { delay(1000) SDKStartup.startDelayTask() } // 在 Activity 或任意地方监听 SDKStartup.complete { success -> if (success) { Log.d("App", "所有 SDK 初始化成功") // 执行后续操作 } else { Log.e("App", "SDK 初始化失败") } } ``` ##### 1. 添加依赖 **Gradle:** ```groovy dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { mavenCentral() maven { url 'https://jitpack.io' } } } ``` 最新版本: [![](https://www.jitpack.io/v/com.gitee.ym521/sdkstartup.svg)](https://www.jitpack.io/#com.gitee.ym521/sdkstartup) ```groovy dependencies { implementation 'com.gitee.ym521:sdkstartup:Tag' } ```