make_package.sh
2.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#1、输入设备名字,程序模式,硬件号,版本号
payload_name="JZ_U3S" #psdk名字
payload_mode="APP_PSDK" # APP_PSDK 或者 APP_UART APP_TEST
payload_platform="PLATFORM_V3S" #硬件平台
payload_special="SPECIAL_UAV" # psdk平台注释
payload_version="V01.00.00" #版本号
#将psdk平台写入version_choose.h
payload_special_text="#define SPECIAL_VERSION ${payload_special}"
sed -i "13s/.*/$payload_special_text/" ../../../../JZsdk_Config/version_choose.h
#3、将负载版本写入version_choose.h
#负载版本
name_text="#define DEVICE_VERSION ${payload_name}"
echo $name_text
sed -i "10s/.*/$name_text/" ../../../../JZsdk_Config/version_choose.h
# 修改json文件的版本号
## 获取旧版本号
# json_file_CN_cn="./Package/config/Configs/widget_file/cn_big_screen/widget_config.json"
# json_content_CN_cn=$(cat "$json_file_CN_cn")
# json_file_CN_en="./Package/config/Configs/widget_file/en_big_screen/widget_config.json"
# json_content_CN_en=$(cat "$json_file_CN_en")
# ## 提取原始版本号
# original_version_CN_cn=$(echo "$json_content_CN_cn" | grep -Po '(?<="版本号:)[\d.]+')
# echo "CN区cn原始版本号: $original_version_CN_cn"
# original_version_CN_en=$(echo "$json_content_CN_en" | grep -Po '(?<="version:)[\d.]+')
# echo "CN区en原始版本号: $original_version_CN_en"
# ## 定义新的版本号
# json_version=${payload_version:1:8} #
# echo "json新版本号:$json_version"
# ## 替换版本号
# updated_content_CN_cn="${json_content_CN_cn//$original_version_CN_cn/$json_version}"
# updated_content_CN_en="${json_content_CN_en//$original_version_CN_en/$json_version}"
## 将更新后的内容写回 JSON 文件
# echo "$updated_content_CN_cn" > "$json_file_CN_cn"
# echo "$updated_content_CN_en" > "$json_file_CN_en"
#打包诱骗升级包
# 拼接字符串得到更新包名字
BinName=$payload_name"_"$payload_version".bin"
TarPackage_second=UpgradePackage.tar.gz #二次解压包的名字
HardwareIdentification="HardwareIdeNum" #硬件码文件
MD5saveFile=UpdateMD5num #md5文件内部的md5值
echo "ShellPack"
#二次压缩包的打包
cd ShellPack
./shellpack.sh
cd ../
#一级压缩包的打包
mkdir Temp
mv $TarPackage_second ./Temp/ # 二级压缩包
# #硬件码 自行判断是否需要烧录
# cp SHellPack/$HardwareIdentification ./Temp
# #3.4添加恢复出厂文件
# cp ShellPack/FactoryReset.sh ./Temp
# 将升级步骤放进一级压缩包
cp ShellPack/updata.sh ./Temp
# psdk 1385更新up.sh
cp ShellPack/up.sh ./Temp
#md5 校准
# 获取二级压缩包的md5值
cd Temp
md5_File="$(md5sum "$TarPackage_second" | cut -d ' ' -f 1)"
echo $md5_File
#把md5校准码写进去
echo $md5_File | tee $MD5saveFile > /dev/null #覆盖写
echo "_____打包一级压缩包_____"
tar -zcf $BinName *
mv $BinName ../
cd ../
rm -rf Temp
echo "_____输出一级压缩包目录_____"
#参数说明 t 查看内容 f 压缩包名字指定
tar -tf $BinName