How to Use apkeep 1.0.0 to Download Android Apps for Research

Introduction

If you're researching Android apps—whether for malware analysis, privacy auditing, or comparative studies—you need a reliable tool for downloading APKs. The command-line utility apkeep, now at version 1.0.0, has evolved over four years into a stable, mature solution. This milestone isn't about flashy new features; it's about reaching a steady state where researchers can depend on it for large-scale app acquisition. The latest release brings targeted enhancements for the Google Play Store, including support for Cloud Profile metadata, anonymous authentication via the Aurora Store token, and custom device profiles. Researchers have already used apkeep to download over 21,000 apps in a single study, and projects like Exodus Privacy rely on it for their monitoring tools. This guide walks you through the essential steps to set up and use apkeep for your own Android app research.

How to Use apkeep 1.0.0 to Download Android Apps for Research
Source: www.eff.org

What You Need

Step-by-Step Instructions

Step 1: Install apkeep on Your System

First, get apkeep installed. The method depends on your operating system:

Verify installation by typing apkeep --version – you should see 1.0.0 or later.

Step 2: Set Up Anonymous Authentication (Optional but Recommended)

Downloading apps from Google Play often requires a Google account. For research, you may prefer to stay anonymous. apkeep integrates with the Aurora Store token dispenser to allow anonymous logins. Do the following:

  1. Install the Aurora Store app on an Android device (or use an emulator).
  2. In Aurora Store's settings, generate an anonymous token – a long alphanumeric string.
  3. Copy this token to your computer. In apkeep, you'll provide it with the --token flag. For example: apkeep --token "YOUR_TOKEN" ...

This method avoids sharing any personal Google account credentials while still allowing downloads.

Step 3: Specify a Device Profile

Google Play delivers different app variants depending on the device (e.g., different screen densities, architecture). To get the version that matches a specific device, you can define a device profile. apkeep expects a JSON file containing device specifications (model, manufacturer, etc.).

  1. Find or create a device profile. You can extract one from a real Android device using tools like adb.
  2. Alternatively, use a generic profile provided by the community. Place the JSON file in a known location.
  3. Pass it to apkeep with the --device-profile flag: apkeep --device-profile /path/to/profile.json

This step ensures you download the exact APK that would run on that device, which is critical for compatibility testing or reverse engineering.

Step 4: Download an App and Its Dex Metadata

Now for the core action. apkeep can download the APK file plus additional metadata. One valuable addition in version 1.0.0 is the Dex Metadata file, which contains Google’s Cloud Profiles. These profiles describe app performance characteristics based on real-world usage, helping researchers evaluate dynamic behavior.

How to Use apkeep 1.0.0 to Download Android Apps for Research
Source: www.eff.org
  1. Choose an app you want to download. Use its package name (e.g., com.example.app) and optionally a version code.
  2. Basic command: apkeep --package com.example.app --output ./downloads/
  3. To include the Dex Metadata, add the --dex-metadata flag: apkeep --package com.example.app --dex-metadata --output ./downloads/
  4. The metadata file will be saved alongside the APK with a .dexmeta extension.

Researchers like Exodus Privacy use this feature to analyze how apps perform under different conditions without needing to run them.

Step 5: Download from Other Stores (Alternative Providers)

apkeep supports multiple app stores beyond Google Play. For example, to download apps from F-Droid (open-source repository), use the --store flag:

  1. Specify the store: apkeep --store fdroid --package org.fdroid.fdroid
  2. You can also download from other providers listed in apkeep's documentation.

This flexibility lets researchers compare the same app delivered via different sources, helping detect modifications or differences in included libraries.

Step 6: Automate Bulk Downloads

For massive studies, you'll want to download hundreds or thousands of apps. apkeep integrates well with shell scripts. Example:

for pkg in $(cat app_list.txt); do
  apkeep --package "$pkg" --dex-metadata --output ./apps/
done

Remember to include rate-limiting to avoid being blocked. The tool is designed for reliability—one research team downloaded 21,154 apps for a malware study using this exact approach.

Tips for Success

Tags:

Recommended

Discover More

Kia's Electric Vehicle Surge: Record US Sales and the Anticipated EV3 LaunchHow to Decode Apple’s Earnings Calls: Spotting Delayed Product LaunchesFirst Quantum-Resistant Ransomware Confirmed: Kyber Uses NIST-Approved EncryptionHow to Adapt to the Mac Mini's New Pricing LandscapeHow to Boost Your Bosch E-Bike's Performance with the Latest Software Update