Bash script to export Android content provider data to CSV format via ADB.
adb-export is a Bash script that extracts data from Android content providers via ADB and exports it to CSV format. It solves the problem of accessing structured app or system data (like contacts, calendar events, or media) without writing custom code or dealing with permission barriers where possible.
Android developers, security researchers, and QA testers who need to inspect or export content provider data from devices for debugging, analysis, or migration purposes.
It provides a quick, command-line alternative to building custom export tools, with built-in CSV conversion and support for many system providers that unexpectedly allow access without permissions.
Bash script to export android content providers data to csv
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses Android Debug Bridge to query content providers directly from connected devices, as shown in usage examples like content://com.android.calendar/calendars, eliminating the need for custom app code.
Automatically converts raw query output to clean CSV files, facilitating easy analysis and import into spreadsheets or databases, with output files raw_query.txt and data.csv created in timestamped folders.
Can access certain system providers such as contacts and calendar without requiring app permissions, a feature highlighted in the Permissions section and confirmed by Google's security team.
Tested on macOS and Ubuntu with setup instructions, including ADB installation steps, ensuring compatibility across common development environments.
Preserves original query output in raw_query.txt alongside CSV, allowing users to verify and debug parsing issues, as noted in the Output section.
Replaces commas in values with spaces to fit CSV format, which can corrupt data integrity, as warned in the Important things to know section with the REPLACE_VALUE_COMMAS_TO variable.
Content provider schemas vary across devices, leading to potential parsing errors and unreliable exports, a limitation admitted in the README that requires manual adjustment.
Cannot access providers blocked by permissions, such as SMS, restricting its utility for certain data extraction needs despite the permission bypass for some system providers.
Requires ADB to be installed and configured, adding an extra step and potential barrier for users unfamiliar with Android tools, with only basic instructions for macOS and Ubuntu.