[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-7588":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":17,"rankGlobal":9,"rankLanguage":9,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":9,"pushedAt":9,"updatedAt":27,"readmeContent":28,"aiSummary":29,"trendingCount":15,"starSnapshotCount":15,"syncStatus":30,"lastSyncTime":31,"discoverSource":32},7588,"update","czy1121\u002Fupdate","czy1121","清晰灵活简单易用的应用更新库",null,"Kotlin",1830,336,39,3,0,1,20.58,"Apache License 2.0",false,"master",true,[23,24,25,26,5],"android","easy","flexible","simple","2026-06-12 02:01:41","# update\n\n清晰灵活简单易用的应用更新库\n\n\n- 支持断点续传\n- 支持强制安装：不安装无法使用app\n- 支持静默更新：不提示用户直接下载安装\n- 支持可忽略该版本：忽略后不再提示用户更新该版本\n- 支持在通知栏显示下载进度，可监听下载进度\n- 支持自定义更新查询\n- 支持自定义下载\n- 支持自定义提示对话框\n\n![screenshot](screenshot.png)\n\n## 引入\n\n``` groovy\nrepositories {\n    maven { url \"https:\u002F\u002Fgitee.com\u002Fezy\u002Frepo\u002Fraw\u002Fcosmo\u002F\"}\n}\ndependencies {\n    implementation \"me.reezy.cosmo:update:0.10.0\"\n}\n```\n\n## Usage\n\n``` java\n\u002F\u002F 设置更新信息源\nUpdateManager.setChecker(\"http:\u002F\u002Fyourdomain.com\u002Fpath\")\n```\n\n``` kotlin\n\u002F\u002F 查询更新\nUpdateManager.check(context)\n```\n\n``` kotlin\n\u002F\u002F 在设置界面点击检查更新：默认无新版本时不会提示用户\nUpdateManager.check(activity) {\n    Toast.makeText(this, it.getFullMessage(this), Toast.LENGTH_LONG).show()\n}\n```\n\n``` kotlin \n\n\u002F\u002F 自定义更新对话框\nUpdateManager.check(activity, onPrompt = { agent ->\n    UpdatePromptDialog(activity, agent).show()\n})\n```\n\n``` kotlin\n\u002F\u002F 清除已经下载好了的包\nUpdateManager.clean(context);\n```\n\n整个更新流程很简单，具体请看 UpdateExecutor\n\n```\nwhen {\n    \u002F\u002F 没有新版本 -> 返回结果\n    !info.hasUpdate -> returnResult(UpdateResult(UpdateResult.UPDATE_NO_NEWER))\n    \u002F\u002F 强制更新 -> 提示用户更新，不显示[取消][忽略]按钮\n    info.isForce -> prompt(info, task)\n    \u002F\u002F 静默更新 -> 不提示用户直接更新\n    info.isSilent -> update(info, task)\n    \u002F\u002F 不可忽略的版本 -> 提示用户更新，不显示[忽略]按钮\n    !info.isIgnorable -> prompt(info, task)\n    \u002F\u002F 该版本已经被忽略 -> 返回结果\n    info.isIgnored -> returnResult(UpdateResult(UpdateResult.UPDATE_IGNORED))\n    \u002F\u002F 提示用户更新\n    else -> prompt(info, task)\n}\n```\n\nUpdateInfo\n\n```kotlin\ndata class UpdateInfo(\n    \u002F\u002F 是否有新版本\n    val hasUpdate: Boolean = false,\n\n    \u002F\u002F 是否强制安装：为true时不安装无法使用app\n    val isForce: Boolean = false,\n\n    \u002F\u002F 是否静默更新：不提示用户直接下载安装\n    val isSilent: Boolean = false,\n\n    \u002F\u002F 是否可忽略该版本：忽略后不再提示用户更新该版本\n    val isIgnorable: Boolean = false,\n\n    \u002F\u002F 是否在通知栏显示下载进度：为true时显示\n    val isShowNotification: Boolean = true,\n\n    \u002F\u002F 更新内容文案\n    val updateContent: String = \"\",\n\n    \u002F\u002F 新包下载地址\n    val url: String = \"\",\n\n    \u002F\u002F 新包哈希值\n    val hash: String = \"\",\n)\n```\n\n## LICENSE\n\nThe Component is open-sourced software licensed under the [Apache license](LICENSE).","czy1121\u002Fupdate 是一个清晰灵活且简单易用的 Android 应用更新库。它支持断点续传、强制安装、静默更新以及版本忽略等功能，同时允许开发者自定义更新查询、下载过程和提示对话框，提供了高度的灵活性。此外，该库还支持在通知栏显示下载进度，并允许监听下载进度。适合需要频繁发布新版本或希望为用户提供平滑更新体验的应用场景使用。项目采用 Kotlin 编写，遵循 Apache License 2.0 开源协议。",2,"2026-06-11 03:13:12","top_language"]