局域网文件共享工具 — 无需数据线,无需互联网,连接同一 WiFi 即可极速传输文件。
传输精灵 是一款基于 Android 平台的局域网文件共享应用。它在手机上启动一个轻量级 HTTP 服务器,同一 WiFi 网络下的任何设备(电脑、手机、平板)都可以通过浏览器访问该服务器,实现文件的快速下载。
核心理念:像精灵一样快速、灵巧地传递文件,无需繁琐的配置和第三方中转服务器。
| 主界面 | 浏览器访问 |
|---|---|
| 启动服务器 → 添加文件 → 分享地址 | 浏览器打开地址 → 一键下载 |
- 一键启动/停止 HTTP 文件服务器
- 端口在 30000-50000 范围内随机分配,避免冲突
- 通过 Android NSD (Network Service Discovery) 自动发现局域网内的其他传输精灵设备
- 浏览器端直接下载共享文件,支持断点续传
- 支持所有文件类型(图片、视频、文档、APK 等)
- 前台服务保活,防止后台被系统回收
- 自适应桌面图标(支持圆形/方形启动器)
- 响应式 Web 界面,手机和电脑浏览器均可流畅访问
- Material Design 风格 UI
- 权限精细管理,兼容 Android 7.0 ~ 14+
com.transferelf/
├── MainActivity.kt # 主界面与交互逻辑
├── FileAdapter.kt # 文件列表适配器 (RecyclerView)
├── HostAdapter.kt # 设备列表适配器 (RecyclerView)
├── discovery/
│ └── ServiceDiscovery.kt # NSD 服务注册与发现
├── file/
│ ├── FileManager.kt # 文件管理(复制、删除、格式化)
│ └── SharedFile.kt # 文件数据模型
└── server/
├── NanoHTTPD.kt # 轻量级嵌入式 HTTP 服务器
├── FileServer.kt # 服务器管理与请求路由
├── FileServerService.kt # Android 前台服务
└── WebPageBuilder.kt # 浏览器页面生成
- 从 Releases 下载最新 APK
- 安装到 Android 手机(需开启"允许安装未知来源应用")
- 确保手机连接了 WiFi 网络
- 打开 App,点击 启动服务器
- 同一局域网内打开浏览器访问屏幕上显示的地址(如
http://192.168.1.100:38672)
# 克隆仓库
git clone https://github.com/mexico-nini/-TransferElf-.git
cd TransferElf
# 使用 Gradle Wrapper 构建
./gradlew assembleDebug
# APK 将生成在 app/build/outputs/apk/debug/
# 文件名格式:传输精灵-版本号-debug.apk- Android Studio Hedgehog (2023.1.1) 或更高版本
- JDK 11 或更高版本
- Android SDK 33
- Gradle 7.2 (由 Wrapper 自动管理)
| 工具 | 版本 |
|---|---|
| Android Gradle Plugin | 7.4.2 |
| Kotlin | 1.8.0 |
| Gradle | 7.2 |
| compileSdk | 33 |
| minSdk | 24 |
| targetSdk | 33 |
androidx.core:core-ktx:1.9.0androidx.appcompat:appcompat:1.5.1com.google.android.material:material:1.7.0androidx.constraintlayout:constraintlayout:2.1.4androidx.swiperefreshlayout:swiperefreshlayout:1.1.0androidx.recyclerview:recyclerview:1.3.1
零外部依赖:HTTP 服务器基于 Java 标准库 ServerSocket 自研实现,未使用任何第三方 Web 框架。
| 权限 | 用途 |
|---|---|
INTERNET |
HTTP 服务监听 |
ACCESS_NETWORK_STATE |
检测 WiFi 连接状态 |
ACCESS_WIFI_STATE |
获取本机 IP 地址 |
CHANGE_WIFI_MULTICAST_STATE |
NSD 服务发现 |
READ_EXTERNAL_STORAGE |
(Android 12 及以下) 读取文件 |
WRITE_EXTERNAL_STORAGE |
(Android 9 及以下) 写入文件 |
READ_MEDIA_IMAGES/VIDEO/AUDIO |
(Android 13+) 读取媒体文件 |
FOREGROUND_SERVICE |
前台服务保活 |
POST_NOTIFICATIONS |
(Android 13+) 服务通知 |
┌─────────────────────┐ HTTP ┌──────────────────┐
│ Android 手机 │ ◄──────────────► │ 浏览器 (PC/手机) │
│ ┌─────────────────┐ │ │ │
│ │ NanoHTTPD Server│ │ 下载文件 │ 显示文件列表 │
│ │ (30000-50000) │ │────────────────► │ 点击下载文件 │
│ └─────────────────┘ │ │ │
│ ┌─────────────────┐ │ └──────────────────┘
│ │ NSD Service │ │
│ │ 发现其他设备 │ │ ┌──────────────────┐
│ └─────────────────┘ │ │ 其他传输精灵设备 │
│ ┌─────────────────┐ │ └──────────────────┘
│ │ FileManager │ │
│ │ 管理共享文件 │ │
│ └─────────────────┘ │
└─────────────────────┘
开发这个项目主要是为了解决日常工作中频繁需要在手机和电脑之间传输文件的痛点。现有的方案要么需要数据线(麻烦),要么依赖外部服务器(速度受限、隐私担忧)。传输精灵 利用局域网直连,兼顾了速度、便利和隐私安全。
本项目基于 MIT License 开源。
欢迎提交 Issue 和 Pull Request!在提交之前,请确保:
- 代码风格与现有项目保持一致
- 添加必要的注释(中英文均可)
- 提交前运行
./gradlew assembleDebug确保构建通过
项目作者:mexico-nini