LinuxCommandLibrary

apkeep

Manage automatically installed packages on Android

TLDR

Download an APK file to the specified directory

$ apkeep [[-a|--app]] [com.example.application] [path/to/directory]
copy

List all available versions for download
$ apkeep [[-a|--app]] [com.example.application] [[-l|--list-versions]] [path/to/directory]
copy

Specify a store to download from
$ apkeep [[-a|--app]] [com.example.application] [[-d|--download-source]] [apk-pure|google-play|f-droid|huawei-app-gallery] [path/to/directory]
copy

SYNOPSIS

apkeep [options] <package> [<package> ...]
apkeep -l [options]

PARAMETERS

-a, --apk
    Backup APK files (base and splits).

-d, --data
    Backup app data and cache.

-s, --obb
    Backup OBB expansion files.

--keys
    Backup app keys/private data.

--device DEVICE
    Specify ADB device serial.

--user {all,current}
    Target specific user(s).

-l, --list
    List installed packages on device.

--split {all,base,splits}
    Control split APK handling.

--cache-dir DIR
    Set cache directory.

-v, --verbose
    Increase output verbosity.

-q, --quiet
    Suppress non-error output.

--force
    Overwrite existing backups.

DESCRIPTION

apkeep is a lightweight, fast command-line utility for backing up Android apps from devices or repositories. It uses ADB to extract APKs (including split APKs), app data, OBB files, and keys without root access. Key features include multi-user support, local caching for speed, backups from APKMirror, and precise control over what to save. Ideal for developers, power users, and app archivists, it handles modern Android versions efficiently, avoiding bloat from heavier tools like Titanium Backup.

Usage focuses on specifying packages by name or ID. It detects devices automatically but supports explicit selection. Caching reduces redundant downloads/pulls, and options allow data-only or APK-only modes. Output organizes files by package/version/user for easy management.

CAVEATS

Requires ADB installed and device with USB debugging enabled.
App data backups need "adb backup" permission or root for full access.
Not for standard Linux package management; Android-specific.

INSTALLATION

Download AppImage from GitHub releases or
pip install apkeep (Python 3.8+). Make executable: chmod +x apkeep.AppImage.

OUTPUT STRUCTURE

Backups saved to ./backups/<package>/<version>/ with APK, data.tar, obb subdirs.

HISTORY

Developed by Hashcode (nikita325) starting ~2021 as open-source alternative to legacy tools. Available on GitHub (hashcode-apkeep/apkeep); active with Android 14+ support. Distributes as AppImage, binaries, or Python script.

SEE ALSO

adb(1), aapt(1), pm(8)

Copied to clipboard