• Home
Name
Date
Size
#Lines
LOC

..--

avd/03-May-2024-906610

dev/03-May-2024-2,1351,908

performance/03-May-2024-7848

validation/03-May-2024-360213

OWNERSD03-May-202438 22

README.mdD03-May-20243.2 KiB7758

README.md

1 # [Android Automotive](https://source.android.com/devices/automotive) Developer Tools
2 
3 AADevT contains tools for AA device developers to improve their productivity.
4 
5 * Fully unbundle from Android versions, and use the AOSP trunk based
6 development model.
7 
8 * Bridge the app ecosystem for [Android Automotive OS](https://developer.android.com/training/cars)
9 because device developers are the key producers for the core apps.
10 
11 * Leverage [Android app developer tools](https://developer.android.com/studio/intro)
12 that a few million developers use.
13 
14 [TOC]
15 
16 ## Dev Tools
17 This contains tools designed specifically to simplify the AA device development
18 workflows.
19 
20 * clone_proj.sh to clone a git project for the unbundled development workflows
21 in instead of the whole Android repo.
22 
23 ## Change Reports
24 
25 ### change_report.py
26 change_report.py creates a diff statistic CSV file from 2 versions of a codebase.
27 This is useful when the git commit history is somehow not obtainable. What you
28 need is to get 2 versions of a codebase downloaded on your disk first.
29 
30 * You can compare specific folders of concern for a quick result, or when
31 there is a code patch change.
32 * This skips all symlinks & ignores common repository metadata folders, e.g.
33 .git, etc.
34 * It can take a long time & generates a large CSV file for the whole Android
35 codebase & especially if they are many changes. For example:
36   * Android 11 QPR1 vs QPR2 takes more than 8 min. & generates a 5MB CSV file.
37   * Android 10 QPR3 vs Android 11 QPR2 takes more than 11 min. & generates a
38   95MB CSV file.
39 * To reduce time, you should always remove **out**, the build output folder first.
40 * For example, to compare Android 11 QPR1 vs QPR2 AOSP codebases on your disk.
41 
42 ```
43 python3 change_report.py --old_dir ~/android/android11-qpr1-release \
44   --new_dir ~/android/android11-qpr2-release \
45   --csv_file ~/change_reports/change_report_android11-qpr1-release_android11-qpr2-release.csv
46 ```
47 
48 * An output example: [change_report-new_vs_old_codebase.csv](dev/resource/change_report-new_vs_old_codebase.csv)
49 is the change report between **dev/resource/old_codebase** and
50 **new_codebase**.
51 * The **states** are:
52   * SAME = 0
53   * NEW = 1
54   * REMOVED = 2
55   * MODIFIED = 3
56   * INCOMPARABLE = 4
57 
58 ### sysui_oem_diff.sh
59 sysui_oem_diff.sh generates a summary of code changes between 2 revisions.
60 Which gives you a rough idea of changes on files and Lines of Code.
61 
62 * The report is especailly useful to discuss the pain points on sysui/notif
63 customization with AAOS team.
64 * For example, to generate the change report for Android 11 to 10 QPR3: [sysui_gcar_android10-qpr3-release_android11-release.txt](dev/resource/sysui_gcar_android10-qpr3-release_android11-release.txt)
65 
66 ```
67 ./sysui_oem_diff.sh ~/Android/android11-release remotes/aosp/android10-qpr3-release remotes/aosp/android11-release > sysui_gcar_android10-qpr3-release_android11-release.txt
68 ```
69 
70 ## System Performance Tuning
71 AAOS system performance turning is hard. Here are the tools to make it a bit
72 easier for the device developers.
73 
74 * time_to_init_disp.sh to measure an app's [Time the Initial Display](https://developer.android.com/topic/performance/vitals/launch-time#time-initial)
75 
76 ## [Android Virtual Device as a Development Platform](avd/README.md)
77