AOSP内部版本号如何自定义?

哥伦比亚广播公司

我正在构建AOSP 4.4.2。我想指定“内部版本号”字符串的一部分(按照设置->关于平板电脑)。

关于平板电脑页面

我知道可以使用CONFIG_LOCALVERSIONdefconfig值为内核完成操作但是我想更改“内部版本号”,而不是“内核版本”(我能够成功完成此操作)。

当前,我的AOSP构建的相关部分如下所示:

# Source build variables
. build/envsetup.sh

# Specify the build target:
# * user -> limited access; suited for production (no ADB)
# * userdebug -> like "user" but with root access and debuggability; preferred for debugging
# * eng -> development configuration with additional debugging tools (with ADB)
lunch mydevice-eng

# Build it!
time m 2>&1 | tee build.out

我应该更改什么来指定内部版本号?

哥伦比亚广播公司

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所述,inBUILD_IDbuild/core/build_id.mk是在其中定义构建字符串的一部分的位置,但是该值可能会在另一个make(*.mk)文件中被覆盖

运行时lunchBUILD_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_NUMBERPLATFORM_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 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用设备的自定义属性以获取产品的版本号

如何获取Flutter应用程序的内部版本和版本号

如何设置Flutter应用程序的内部版本和版本号

如何使用Swift获取App版本和内部版本号?

更好的增加内部版本号的方法?

Azure DevOps如何将自定义内部版本号格式获取到YAML构建管道?

如何自动设置Watchkit应用目标的版本和内部版本号

Xcode项目的“内部版本号”

如何使用Maven获取Jenkins内部版本号

如何在NPM版本中表示内部版本号?

如何更改当前的内部版本号?

AssemblyInfo内部版本号未更新

TeamCity自定义内部版本号-AssemblyInfo修补程序

如何从执行重建的位置获取内部版本号?

VSTS内部版本号,用于内部版本定义

如何获取Flutter Web应用程序的内部版本和版本号

如何在基于Maven的项目中让Netbeans增加.WAR的版本/内部版本号?

如何以编程方式在Android设备中获取设备(AOSP)内部版本号?

如何让TeamCity更新指定文件中的内部版本号?

tfs 2013跨内部版本定义的增量内部版本号

如何从.bash_profile访问我的nvm节点版本号以自定义终端提示?

如何将内部版本号与可执行文件上的版本号同步?

如何在Teamcity中设置内部版本号?

在bash中增加内部版本号

Gradle:从自定义工件名称中排除修订版本号

VSTS 自定义版本号

如何在 Android 中获取 Jenkins 内部版本号?

如何使用内部版本号更新已完成 Azure Devops 工作项上的自定义字段

如何在 Azure Pipelines 中自动递增 Xamarin Android 内部版本号和版本号?