21 May 2024 Leave a comment Tech-Help
Transferring large files to and from your Android device using the adb push
and adb pull
commands can be cumbersome without any indication of progress. This guide will show you how to incorporate a progress bar into these operations, making the process more user-friendly.
Using ADB with Progress Support
Recent versions of ADB include built-in support for displaying progress during file transfers. To use this feature, simply add the -p
flag to your adb push
command:
adb push -p <local> <remote>
This command will display the transfer progress directly in your terminal.
Creating a Custom ADB Install Script
If you are looking to monitor progress during an adb install
operation, which does not natively support a progress bar, you can create a custom script. Below is an example script that you can use:
#!/bin/bash
# adb install with progressbar displayed
# usage:
function usage() {
echo "$0 "
exit 1
}
function progressbar() {
bar="================================================================================"
barlength=${#bar}
n=$(($1*barlength/100))
printf "\r[%-${barlength}s] %d%%" "${bar:0:n}" "$1"
}
export -f progressbar
[[ $# /dev/null 2>&1 || {
echo "adb doesn't exist in your path"
exit 3
}
SIZE=$(ls -l $SRC | awk '{print $5}')
export ADB_TRACE=all
adb install -r $SRC 2>&1 \
| sed -n '/DATA/p' \
| awk -v T=$SIZE 'BEGIN{FS="[=:]"}{t+=$7;system("progressbar " sprintf("%d\n", t/T*100))}'
export ADB_TRACE=
echo
echo 'press any key'
read n
This script provides a visual representation of the installation progress. Save it as adb-install.sh
and make it executable. You can then use it to install APKs with a progress bar.
Enhancing Your Android Development Workflow
While these solutions are quite effective, integrating a comprehensive test automation tool like Repeato can further streamline your Android development process. Repeato is a no-code test automation tool for iOS and Android, enabling you to create, run, and maintain automated tests for your apps.
Repeato’s capabilities include:
- Fast editing and running of tests
- Utilizing computer vision and AI for test automation
- Executing ADB commands via “script steps” for precise control
For more information on how Repeato can assist you, check out our documentation or visit our Android testing tool page.
By leveraging these tools and techniques, you can significantly improve your efficiency in managing and testing Android applications.