“AQ3A.240912.001” versus “FP5.VT2I.C.072.20251122” — which is the most accurate build identifier?

When using avdmanager, getprop | grep -E 'ro.vendor|ro.build' returns:

  • AOSP 16

    [ro.build.version.sdk]: [36]
    [ro.build.fingerprint]: [google/sdk_gphone16k_x86_64/emu64xa16k:CANARY/ZP11.251121.011/14525967:userdebug/dev-keys]
    [ro.build.display.id]: [sdk_gphone16k_x86_64-userdebug CANARY ZP11.251121.011 14525967 dev-keys]
    [ro.build.id]: [ZP11.251121.011]
    [ro.build.version.incremental]: [14525967]
    
  • a15

    [ro.build.version.sdk]: [35]
    [ro.build.fingerprint]: [google/sdk_gphone64_x86_64/emu64xa:15/AE3A.240806.046.B2/13139635:userdebug/dev-keys]
    [ro.build.display.id]: [sdk_gphone64_x86_64-userdebug 15 AE3A.240806.046.B2 13139635 dev-keys]
    [ro.build.id]: [AE3A.240806.046.B2]
    [ro.build.version.incremental]: [13139635]
    

However, the FP5 returns significantly less consistent values:

[ro.build.version.sdk]: [35]
[ro.build.fingerprint]: [Fairphone/FP5/FP5:15/AQ3A.240912.001/VT2I:user/release-keys]
[ro.build.display.id]: [FP5.VT2I.C.072.20251122]
[ro.build.id]: [AQ3A.240912.001]
[ro.build.version.incremental]: [VT2I]

Considering that logcat --buffer=crash (alongside most places) cites AQ3A.240912.001, rather than FP5.VT2I.C.072.20251122, why the apparently different build numbers (in ro.build.id and ro.build.display.id)? I ask because I don’t see what ro.build.display.id is derived from; it’s not utilised elsewhere. [1]


  1. gitlab.e.foundation/e/os/android_frameworks_base/-/commit/e41bc38ec545c2af49ddf9da941043eef84e4314#note_779600 ↩︎

i am not expert, but what i understand is :

FP5.VT2I.C.072.20251122 is Fairphone naming format,
when
AQ3A.240912.001 is AOSP naming format
on witch Fairphone build is based

3 Likes

@piero-e, of course. I feel stupid; I somehow missed the AE3A.* string in the emulator-with-Google’s-distribution’s fingerprint. Thanks!