android_everything README

The project's README from github.com/luli395/android_everything. As one markdown file: README.md.

Android Everything

Search your Android phone from Windows with the speed and workflow of Everything.

Latest release CI status MIT license Windows 10 or later

Download Android Everything v0.1.6 for Windows

Android Everything demo: connect a demo device, index files, search for photo, filter to JPG, and open Pull to PC

The demo uses a simulated device and synthetic file names; no personal phone data is recorded.

Android Everything connects through Android Debug Bridge (ADB), creates a local SQLite/FTS5 metadata index, and turns Android file browsing into a responsive, search-as-you-type Windows workflow. Index once, then find files by name or path without reopening folders across the phone for every search.

Start searching in three steps

  1. Download and extract the complete Windows ZIP for v0.1.6.
  2. Connect and authorize the phone: enable USB debugging, connect it over USB, and approve the computer on the device.
  3. Run and search: start AndroidEverything.exe, select the device, click Index, and begin typing.

The package contains AndroidEverything.exe, ADB, its required DLLs, and the Android Platform Tools notice. Python and a separate ADB installation are not required. Keep all extracted files together.

[!TIP] If the phone is shown as unauthorized, unlock it and accept the USB debugging prompt, then click Refresh.

Why Android Everything?

Task File Explorer / MTP workflow Android Everything workflow
Find a file anywhere on the phone Open storage and navigate folders Type a name or path and see matches immediately
Repeat a search Browse the device again Query the reusable local index
Narrow a result set Navigate or reorganize folders Filter by extension and sort any result column
Bring a file to Windows Browse to it, then copy it Pull, open, or reveal the selected result

The experience is inspired by the fast workflow of Everything for local Windows files. Android Everything is an independent open-source project and is not affiliated with or endorsed by voidtools.

Highlights

How it works

flowchart LR
    Device[Android Device] -->|USB debugging| ADB[ADB]
    ADB -->|file metadata| Scanner[Scanner / File Indexer]
    Scanner -->|atomic index update| Database[(SQLite + FTS5)]
    Database -->|fast local queries| Search[Search Engine]
    Search -->|results| UI[Tkinter Windows UI]
    UI -->|index, pull, delete| ADB

ADB → Scanner → SQLite/FTS5 → Tkinter

  1. ADB discovers devices and performs serial-bound Android file operations.
  2. Scanner reads metadata and prepares a complete replacement index.
  3. SQLite/FTS5 commits the new index atomically and serves local searches.
  4. Tkinter presents the familiar Windows desktop search and file-action workflow.

Download and verify

Current release: v0.1.6

Place the ZIP and checksum file in the same directory, then verify them in PowerShell:

$expected = (Get-Content .\AndroidEverything-v0.1.6-windows-SHA256.txt).Split()[0]
$actual = (Get-FileHash .\AndroidEverything-v0.1.6-windows.zip -Algorithm SHA256).Hash.ToLowerInvariant()
$actual -eq $expected

The result should be True. The bundled ADB comes from Android SDK Platform Tools. Keep adb.exe, AdbWinApi.dll, and AdbWinUsbApi.dll beside AndroidEverything.exe after extraction.

Documentation and requirements

Running from source additionally requires Python 3.8 or later with Tkinter and Android SDK Platform Tools.

Run from source

  1. Clone the repository:

    git clone https://github.com/luli395/android_everything.git
    cd android_everything
    
  2. Add Platform Tools to PATH, or point the application to ADB explicitly:

    $env:ANDROID_EVERYTHING_ADB = "C:\path\to\platform-tools\adb.exe"
    
  3. Connect and authorize the phone, then confirm that ADB sees it:

    adb devices
    
  4. Start the application:

    python main.py
    

Select a device, click Index, and search by file name or Android path.

Configuration

Defaults are defined in config.py.

Environment variable Purpose
ANDROID_EVERYTHING_ADB Absolute path to adb.exe; if unset, the application searches its package directory and PATH.
ANDROID_EVERYTHING_DATA_DIR Optional override for the index and application-log directory.

The SQLite index and log are stored under %LOCALAPPDATA%\AndroidEverything by default.

Privacy

All searches and indexed metadata remain local to the PC. The index can contain device serials and Android file paths, so do not share %LOCALAPPDATA%\AndroidEverything\files.db. Files pulled from a phone should also remain outside the repository.

The README GIF is generated from an in-memory demo backend and contains only synthetic paths and file names.

Development

Run the syntax check and unit tests:

python -m compileall -q .
python -m unittest discover -s tests -v

Build the standalone executable and complete Windows package with PyInstaller:

.\scripts\build_windows.ps1 -AdbPath "C:\path\to\platform-tools\adb.exe"

Regenerate the privacy-safe README demo from the real Tkinter widgets:

python -m pip install Pillow
python .\scripts\create_demo_gif.py

The capture utility is development-only; Pillow is not an application runtime dependency. It requires a visible Windows desktop session and never connects to ADB or reads the local application database.

Project structure

android_everything/
|-- main.py                  # Application entry point
|-- adb_wrapper.py           # ADB discovery and file operations
|-- file_indexer.py          # Device scanner and atomic indexing pipeline
|-- database.py              # SQLite and FTS5 persistence
|-- device_mutation.py       # Per-device indexing/deletion coordination
|-- search_engine.py         # Search API and query cache
|-- path_utils.py            # Safe Windows download-path handling
|-- config.py                # Application defaults
|-- docs/                    # User guide and README media
|-- scripts/                 # Windows packaging and demo-capture tools
`-- ui/                      # Tkinter window, file list, and styling

Bug reports and focused pull requests are welcome. See CONTRIBUTING.md and SECURITY.md.

License

Licensed under the MIT License.

android_everything (luli395/android_everything)

Searching Database…

这是什么?Android Everything 让你在 Windows 上以 Everything 搜索工具的速度和手感搜索安卓手机的文件,它用 ADB 把文件元数据拉到本地 SQLite FTS5 索引中。
这是图形界面应用还是命令行工具?它是一个用 Tkinter 构建的独立 Windows 桌面图形界面应用,不是命令行工具,不过也可以从 Python 源码运行。
怎么让它跑起来?下载并解压 v0.1.6 版本的 Windows ZIP 包,用 USB 连接手机并开启并授权 USB 调试,然后运行 AndroidEverything.exe,选择设备,点击 Index,接着直接输入就能搜索。
我需要先装 Python 或单独装 ADB 吗?不需要,打包的 ZIP 已经内置了 AndroidEverything.exe、ADB 及其所需的 DLL,所以不需要 Python,也不需要单独安装 ADB;只有从源码运行时才需要。
连接手机时可能出什么问题?如果手机显示为未授权,你需要解锁手机,在手机上接受 USB 调试提示,然后在应用里点击 Refresh 才能继续。
我能在 Mac 或 Linux 上用吗,还是仅支持 Windows?它仅支持 Windows:发行版面向 Windows 10 及以上系统,内置的 ADB 可执行文件也是 Windows 二进制文件。
我的手机数据最后会到哪里?所有搜索和索引到的元数据都留在你电脑本地的 %LOCALAPPDATA%\AndroidEverything 目录下;不会有任何上传,不过应避免共享索引文件,因为其中可能包含设备序列号和文件路径。
如果索引刷新失败或中途取消会怎样?Android Everything 采用原子化索引,如果刷新失败或被取消,之前可用的索引会保留下来,而不会留下损坏的索引。
我能通过这个应用删除或拉取手机里的文件吗?可以,搜索结果支持桌面文件操作,包括把文件拉取到 Windows、打开文件、在资源管理器中显示、复制路径,以及确认后删除。
它能处理手机上的多个存储位置吗?能,它会做去重的多存储发现,在扫描内部存储、SD 卡和 USB 介质之前先解析 Android 的挂载别名。
Creator
luli395
Size
0.5 MB
Stars
299
Age
2mo
Commits · 90 Days