把编译信息放在 Launch Icon 上

enter image description here|center
首先上一张效果吧!这是我们CI集成测试包后 icon。在icon上分别显示了版本号、build 时间、git id。

如何实现的呢?看下面。

首先,我们要有 ghostscriptimagemagick 两个环境。

brew install ghostscript
brew install imagemagick

其次,在编译 apk 之前,执行下面的 shell,就会主动替换为新icon。

#!/usr/bin/env bash
#引入环境变量
export PATH=$PATH:/usr/local/bin
#读取版本name
source $WORKSPACE/gradle.properties
shortVersion=${VERSION_NAME}
#编译时间
createDate=`date +%m%d_%H:%M`
#获取git id
commit=`git rev-parse --short HEAD`
bundleVersion=`git rev-list HEAD | wc -l | awk '{print $1}'`
#获取icon路径数组
resPath="$WORKSPACE/android-autoEasy/src/main/res"

mdpiPath="${resPath}/drawable-mdpi/icon.png"
hdpiPath="${resPath}/drawable-hdpi/icon.png"
xhdpiPath="${resPath}/drawable-xhdpi/icon.png"
xxhdpiPath="${resPath}/drawable-xxhdpi/icon.png"
iconPaths=(${mdpiPath} ${hdpiPath} ${xhdpiPath} ${xxhdpiPath})

echo
echo "*********************************************"
echo "* ${shortVersion}_${bundleVersion}_${commit}"
echo "*********************************************"
echo
#把信息写到icon上
function processIcon() {
    pngPath=$1

    echo
    echo "*********************************************"
    echo "* start ---> ${pngPath}"
    echo "*********************************************"
    echo

    echo "from -> ${pngPath}"

    if [[ ! -f ${pngPath} ]]; then
    echo "can't find ${pngPath} "
    return;
    fi

    target_path=${pngPath}

    echo "to -> ${target_path}"

    width=`identify -format %w ${pngPath}`
    echo "width = $width"

    string=$"\n"
    `echo convert -background '#0008' -fill white -gravity center -size ${width}x${width} \
    caption:"${shortVersion}${string}${createDate}${string}${commit}" \
    ${pngPath} +swap -gravity south -composite ${target_path}`

    echo "name = ${shortVersion}${string}${createDate}${string}${commit}"

    echo
    echo "*********************************************"
    echo "* end <--- ${pngPath}"
    echo "*********************************************"
    echo
}

#判断是否已经安装了必须工具 imagemagick ghostscript
echo `brew ls` |grep -q "imagemagick"
if [ $? -eq 0 ]; then
    echo "imagemagick installed "

    echo `brew ls` |grep -q "ghostscript"
    if [ $? -eq 0 ]; then
        echo "ghostscript installed "

        for paths in ${iconPaths[@]}
        do
            processIcon ${paths}
        done

    fi
fi
echo
echo "*********************************************"
echo "* run script end"
echo "*********************************************"
echo

最后,就是编译 apk 啦!

gst-launch 是 GStreamer 的命令行工具,用于创建和运行多媒体流管道。移植交叉编译是将 gst-launch 工具从一个平台移植到另一个平台的过程。 在进行 gst-launch 移植交叉编译时,首先我们需要明确目标平台的体系结构和操作系统类型。例如,如果我们要将 gst-launch 移植到 ARM 架构的 Linux 系统上,我们需要选择相应的交叉编译工具链。 接下来,我们需要根据目标平台的操作系统和编译环境进行配置。这包括设置交叉编译工具链的路径和环境变量,以及为目标平台下载和配置必要的依赖库和头文件。 一旦环境配置完成,我们可以开始移植 gst-launch。首先,我们需要获取 GStreamer 源代码,并在交叉编译环境中进行编译。这通常包括配置、编译和安装 GStreamer,以及相关的插件和依赖库。 接下来,我们可以将 gst-launch 的源代码复制到交叉编译环境中,并进行编译和链接。这可能涉及到调整代码中的特定平台依赖项,以确保 gst-launch 可以在目标平台上正确运行。 一旦 gst-launch 成功编译和链接,我们可以将生成的可执行文件拷贝到目标平台上进行测试。我们可以使用适当的命令行参数来创建和运行多媒体流管道,以验证 gst-launch 在目标平台上的功能和性能。 总之,gst-launch 移植交叉编译涉及到配置交叉编译环境、编译和链接 GStreamer,以及修改和调整 gst-launch 的代码,以便在目标平台上正确运行。这样就可以实现在不同平台上使用 gst-launch 从命令行创建和运行多媒体流管道的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值