Makefile определяет, как создается (объединяется) номер сборки для сборки.
пользовательские сборки
Для пользовательских сборок (цель сборки, указанная в обеде) номер сборки будет просто быть «$(BUILD_ID) $(BUILD_KEYS)
», за исключением случаев, когда параметр DISPLAY_BUILD_NUMBER
установлен в «true».
сборка eng/userdebug
Для других сборок (например, eng/userdebug) включено гораздо больше информации:
build_desc := $(TARGET_PRODUCT)-$(TARGET_BUILD_VARIANT) $(PLATFORM_VERSION) $(BUILD_ID) $(BUILD_NUMBER) $(BUILD_VERSION_TAGS)
Исходный код Makefile доступен здесь: https://android.googlesource.com/platform/build/+/android-4.4.2_r1/core/Makefile#106
Установка параметров сборки в make-файле
Как упомянутый @eldarerathis, значение BUILD_ID
в build/core/build_id.mk
определяет часть строки сборки, однако это может быть переопределено в другом файле make (*.mk
).
При запуске lunch
значение BUILD_ID
будет напечатано для проверки. Если это значение отличается от значения, найденного в файле build_id.mk
, найдите, где оно устанавливается, и перенастройте его. Например, если в составе lunch
вывод включает «4.4.2_1.0.0-ga»:
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.4.2
...
HOST_BUILD_TYPE=release
BUILD_ID=4.4.2_1.0.0-ga
OUT_DIR=out
============================================
... затем найдите «4.4.2_1.0.0-ga», чтобы найти его:
me@mybox:~/AOSP$find . -name "*.mk" | xargs grep "4.4.2_1.0.0-ga"
Затем обновите файл .mk
, содержащий файл BUILD_ID
. Соответственно установите другие параметры сборки.
BUILD_NUMBER
, PLATFORM_VERSION
и BUILD_ID
находятся в: build/core/version_defaults.mk
< /а>. Значения устанавливаются только в том случае, если сборка инициируется без их установки.
Установка параметров сборки в качестве параметра во время сборки
В качестве альтернативы (и, на мой взгляд, предпочтительно) эти параметры могут быть установлены как часть командной строки сборки следующим образом:
me@mybox:~/AOSP$ time m BUILD_ID="MyBuildv1.2" BUILD_NUMBER=12345 2>&1 | tee build.out
person
CJBS
schedule
28.01.2015