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 позволяет искать файлы на Android-телефоне из Windows со скоростью и ощущениями от поисковика Everything, подтягивая метаданные файлов через ADB в локальный индекс SQLite FTS5.
Это приложение с GUI или консольный инструмент?Это отдельное настольное GUI-приложение для Windows, построенное на Tkinter, а не CLI-инструмент, хотя его можно запустить и из Python-исходников.
Как его запустить?Скачайте и распакуйте Windows ZIP релиза v0.1.6, подключите телефон по 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, их открытие, показ в Проводнике, копирование путей или удаление после подтверждения.
Он учитывает несколько мест хранения на телефоне?Да, он выполняет дедуплицированное обнаружение по нескольким накопителям, разрешая псевдонимы монтирования Android, прежде чем сканировать внутреннюю память, SD-карты и USB-носители.
Creator
luli395
Size
0.5 MB
Stars
299
Age
2mo
Commits · 90 Days