Skip to content

TinkerBoard-Android/rockchip-android-system-tools-release_tools

Repository files navigation

release tool

编译方法

  • 支持CMake, 安装CMake后执行cmake . && make
  • 支持Android Make, 源码放到system/tools/release_tools后执行mm -j4

使用说明

build脚本生成的manifest通常无法直接用来回朔或代码定点发布等, 并且存在 需要切分支/remote修改或部分工程需要隐藏 等问题; 本工具用于manifest的更新, 适用于代码定点发布, 固件版本回朔等, 使用方法不固定, 可以自行发掘.

  • 映射服务器mainfest定点更新, 如10.10.10.78服务器作为29服务器的映射, 后期持续维护中只会更新AOSP的代码(只更新tag)以及部分rk稳定的仓库(用hash值固定), 以下命令可以帮助更新78服务器中的那些稳定仓库的hash值.
release_tool -i rk3326_repository.xml -b manifest_20181119.1436.xml -o rk3326_repository_new.xml [-dir ./PATCHES, 如manifest_2018xxx.xml存在本地提交, 使用这个参数恢复]
  • 对外服务器定点更新, 对外推送时希望更新对外的manifest中的hash值, 以往都是对比build脚本生成的manifest手动修改hash值, 用脚本机械化会更简单省时.
release_tool -i rk3326_pie_sdk_express_release_v1.0.xml -b manifest_20181119.1436.xml -o rk3326_repository_new.xml [-dir ./PATCHES, 如manifest_2018xxx.xml存在本地提交, 根据提示的分支处理]
  • 代码回朔, 由于build脚本生成的manifest只是所有project最新点的快照, 无法区分本地提交或是服务器提交, 用以下命令可以恢复这些有问题的hash值, 输出的manifest能够直接sync, 配合restore_patches.sh能够恢复本地的提交和补丁
release_tool -i manifest_20181119.1436.xml -b manifest_20181119.1436.xml -o manifest_temp.xml -dir ./PATCHES
  • 更新时保持某些仓库的点不更新, 注意: 配置文件的优先级比补丁包[-dir参数]高!
release_tool -i manifest_20181119.1436.xml -b manifest_20181119.1436.xml -o manifest_temp.xml -dir ./PATCHES -c config.ini

参数说明

-i      需要基于这些工程进行更新的manifest文件, 需要更新这个列表内的hash值;
-b      使用 `build.sh` 或 `repo manifest` 命令编译出的manifest文件, 包含所有SDK工程的hash值;
-o      输出文件, 只更新-i参数中文件的hash值, 不会修改仓库列表及remote地址等;
-c      使用配置文件, 可以用来过滤project, 使用时此参数时, 当遍历到属于[Filter]这个session下的project时, 会保留原始commitID, 该project的hash值不会更新, 配置文件可以参考config.ini;
-dir    用于恢复服务器不存在的hash值, 用于代码回朔, 遍历 build.sh脚本所生成的 git-merge-base.txt 文件, 输出-o文件后可直接用于sync.

一键切换到补丁状态

  • SDK根目录执行以下脚本, 能够自动切换至补丁包中git-merge-base.txt的点并打好其中的补丁:
./restore_patches.sh [可选, 补丁包路径, 若不指定则默认为: SDK/PATCHES]

AOSP + Gerrit工具

这两个脚本提供了新工程整合时的操作,注意,脚本依赖gitolite_tool,可以用cmake自行编译下

  • 检查xml中的project是否都在gerrit上创建过,如果没有创建,则创建,注意要删除kernel等无用的工程,以免浪费gerrit的空间
./create_gerrit_projects.sh /path/to/xml
  • 检查上一步中去掉的gerrit上无用的工程,生成remove.xml,整合工程时include即可
./genernate_remove.sh /path/to/xml output.xml

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published