# 随处运行
**Repository Path**: hellotool/RunythingForAndroid
## Basic Information
- **Project Name**: 随处运行
- **Description**: https://gitee.com/Jesse205/RunythingForAndroid.git
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-07-09
- **Last Updated**: 2026-07-09
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 随处运行 
**语言**:
**简体中文** |
[English](./README.md) |
期待您的翻译!
> **⚠️ 提示:** 本文档由 AI 生成,可能存在不准确之处,请以源代码为准。
随处运行(Runything)是一款轻量级 Android 工具应用,相当于手机上的通用"运行"对话框。只需输入网页链接、URI、Intent 字符串、文件路径或命令,应用即可自动解析并启动目标。
## 功能特性
- **通用启动器** — 在单一输入框中输入 URI、Intent、文件路径或命令,即可立即启动。
- **自动识别** — 自动检测输入类型(`intent://`、`android-app://`、标准 URI、文件路径等),选择对应的解析器。
- **多种内容类型** — 可手动选择 Auto、URI、Intent、File 或 Command 模式,精确控制解析行为。
- **Intent 协议支持** — 支持通过 `URI_INTENT_SCHEME`、`URI_ANDROID_APP_SCHEME` 解析 Intent,也可直接启动 Service。
- **浮动对话框界面** — 以半透明覆盖层形式呈现,无需离开当前界面即可操作。
- **两个应用变体** — 基于 Compose 的现代版(Android 6.0+)和基于传统对话框的兼容版(Android 4.1+),共享同一套核心逻辑。
- **Material You** — 在 Android 12 及以上设备上支持动态取色主题。
- **零第三方依赖** — 完全基于 AndroidX 和 Google 官方库构建。
## 项目结构
项目采用多模块架构,职责划分清晰:
```
RunProgram/
├── core/launcher/ # 核心库 — 解析器、执行器和启动注册表
├── app/
│ ├── common/ # 共享资源与工具代码
│ ├── legacy/ # 兼容版 UI(XML 对话框,minSdk 16)
│ └── modern/ # 现代版 UI(Jetpack Compose + Material 3,minSdk 23)
```
核心模块采用策略模式:`LaunchParser` 将原始文本转换为 `LaunchRequest`,`LaunchExecuter` 负责实际启动操作。`LaunchRegistry` 根据所选内容类型协调解析器与执行器的分发。这种设计使得未来添加新的内容类型变得非常简单。
## 技术栈
| 方面 | 详情 |
|---|---|
| 语言 | Kotlin 2.4.0 |
| 构建 | Gradle(Kotlin DSL)、AGP 9.2.1、版本目录 |
| 编译 SDK | 37(Android 15) |
| 现代版 UI | Jetpack Compose、Material 3、Compose BOM 2026.02.01 |
| 兼容版 UI | XML 布局、原生 `Activity` + `AlertDialog` |
| 架构 | 策略模式、MVVM(现代版)、`ViewModel` + `StateFlow` |
| 最低 SDK | 16(兼容版)/ 23(现代版) |
## 构建
将仓库克隆到本地,使用 Android Studio Hedgehog 或更高版本打开即可。项目已启用 Gradle 配置缓存,无需额外配置即可构建:
```bash
./gradlew assembleDebug
```
构建完成后将生成两个 APK——分别对应 `legacy`(兼容版)和 `modern`(现代版)。
## 许可证
本项目基于 [Apache License 2.0](./LICENSE) 开源。