Flashing
installing from your computer files (APK, SDK and so on) onto DUT APK: The final product that users install on their Android devices ( tools and blueprints). SDK: The tools and resources that developers use to build the APK (complete, functional structure ).
APK (Android Package Kit)
contains all the code, resources (images, sounds, etc.), and data needed to run the app on an Android device. Analogy: executable file for Windows or macOS. Usage: When you download and install an app from the Google Play Store, you’re essentially downloading and installing an APK file.
Key Characteristics
- Standalone: An APK file is self-contained, containing everything needed to run the app.
- Executable: It’s a file that can be executed on an Android device to install the app.
SDK (Software Development Kit):
set of tools, libraries, documentation, and sample code that developers use to create Android apps. Analogy: toolbox for building a house. It provides the tools, instructions, and materials necessary to construct the application. Usage: Developers use the Android SDK to write code, design the UI, test their apps, and ultimately create APK files to distribute.
Key Characteristics: Development Tools: It includes tools like the Android Studio IDE, compilers, emulators, and debuggers. Libraries: It contains pre-written code (libraries) that developers can use to perform common tasks. Documentation: The SDK includes comprehensive documentation to help developers understand how to use its tools and libraries. Sample Code: It offers sample code to illustrate how to implement various functionalities.
You flash the DUT from your laptop via terminal with ADB.
ADB (Android Debug Bridge)
command-line tool to communicate with and control Android devices from your computer.
- Enable USB Debugging: To use most ADB commands, you must enable USB debugging on your Android device.
- Permissions: You may need to grant permissions to ADB (e.g., to access the device’s storage).
- Platform Tools: You need to install the Android SDK Platform Tools to use ADB. Download it from the official Android Developer website.
Software Installation
Install apps from your computer (outside the Play Store).
-
- Connect your Android device to your computer with USB debugging enabled.
-
- Open a terminal window.
-
- Ensure that device is connected by checking in the terminal if it is recognized.
adb devices
# and press Enter.
# or
aae toolbox
-
- Find the path to the .apk file of the app you want to install (you can Use finder to get there and then open the folder in terminal).
-
- Type adb install <path/to/app.apk> and press Enter like so
adb install -r -d autoembedded.carassistant.arm64-v8a.blablabla_RC00.apk
Debugging App Issues - logcat
Identify and troubleshoot problems on your Android device.
view the system logs of your Android device
- Kernel: Messages related to the core operating system.
- System Services: Logs from services like Bluetooth, Wi-Fi, and GPS.
- Applications: Messages generated by your apps, including errors, warnings, and debug information.
# Displays log messages from your device.
adb logcat
adb logcat -c
adb logcat > languageChange01.txt
ls languageChange01.txt
test queries
^C
adb bugreport
aae toolbox config experimental enable
aae device screen
File Transfer
Transfer files between your computer and your device.
#Push a file from your computer to your device.
adb push <local_file> <remote_path>
# Pull a file from your device to your computer.
adb pull <remote_path> <local_path>
Shell Access
Execute commands on your device’s Linux shell.
# Opens a shell on your device, allowing you to execute Linux commands.
adb shell
adb shell <command>
# Executes a command directly on your device
# to list files in the SD card directory
adb shell ls /sdcard
Screen Capture:
Capture screenshots of your device’s screen.
#capture screenshot
adb wait-for-usb-device shell screencap /sdcard screen.png
./adb exec-out screencap -p > $directory/Today_${lang_argument}_${i}.png
# Capture a screenshot and save it to the device's SD card.
adb shell screencap -p /sdcard/screenshot.png
# Pull screenshots
adb pull /sdcard/screen.png
# Delete screenhots?
Device Management
Manage and control multiple connected Android devices.
Testing
Run automated tests on your device.
Other Useful Commands
# Reboots your device.
adb reboot
# Reboots your device into recovery mode.
adb reboot recovery