Bug: 170945099

Clone this repo:
  1. f28a9f6 Prototype app bundle release update & test am: 29e43ec7a6 am: 2d31dd9171 by Sam Lin · 4 months ago android-s-v2-preview-1 master
  2. 2d31dd9 Prototype app bundle release update & test am: 29e43ec7a6 by Sam Lin · 4 months ago
  3. 29e43ec Prototype app bundle release update & test by Sam Lin · 4 months ago android-s-beta-5
  4. d99695f Add change_report.py am: b6e3a83f1b am: 651b20269f by Sam Lin · 7 months ago
  5. 651b202 Add change_report.py am: b6e3a83f1b by Sam Lin · 7 months ago android-s-beta-4 android-s-beta-3

Android Automotive Developer Tools

AADevT contains tools for AA device developers to improve their productivity.

  • Fully unbundle from Android versions, and use the AOSP trunk based development model.

  • Bridge the app ecosystem for Android Automotive OS because device developers are the key producers for the core apps.

  • Leverage Android app developer tools that a few million developers use.

Dev Tools

This contains tools designed specifically to simplify the AA device development workflows.

  • clone_proj.sh to clone a git project for the unbundled development workflows in instead of the whole Android repo.

Change Reports

change_report.py

change_report.py creates a diff statistic CSV file from 2 versions of a codebase. This is useful when the git commit history is somehow not obtainable. What you need is to get 2 versions of a codebase downloaded on your disk first.

  • You can compare specific folders of concern for a quick result, or when there is a code patch change.
  • This skips all symlinks & ignores common repository metadata folders, e.g. .git, etc.
  • It can take a long time & generates a large CSV file for the whole Android codebase & especially if they are many changes. For example:
    • Android 11 QPR1 vs QPR2 takes more than 8 min. & generates a 5MB CSV file.
    • Android 10 QPR3 vs Android 11 QPR2 takes more than 11 min. & generates a 95MB CSV file.
  • To reduce time, you should always remove out, the build output folder first.
  • For example, to compare Android 11 QPR1 vs QPR2 AOSP codebases on your disk.
python3 change_report.py --old_dir ~/android/android11-qpr1-release \
  --new_dir ~/android/android11-qpr2-release \
  --csv_file ~/change_reports/change_report_android11-qpr1-release_android11-qpr2-release.csv
  • An output example: change_report-new_vs_old_codebase.csv is the change report between dev/resource/old_codebase and new_codebase.
  • The states are:
    • SAME = 0
    • NEW = 1
    • REMOVED = 2
    • MODIFIED = 3
    • INCOMPARABLE = 4

sysui_oem_diff.sh

sysui_oem_diff.sh generates a summary of code changes between 2 revisions. Which gives you a rough idea of changes on files and Lines of Code.

./sysui_oem_diff.sh ~/Android/android11-release remotes/aosp/android10-qpr3-release remotes/aosp/android11-release > sysui_gcar_android10-qpr3-release_android11-release.txt

System Performance Tuning

AAOS system performance turning is hard. Here are the tools to make it a bit easier for the device developers.

Android Virtual Device as a Development Platform