参考博客:
Android 生成自己的签名key(releasekey platform shared media networkstack verify等)_Deep Lee的专栏-CSDN博客
更改ota签名只需更改
./build/make/tools/releasetools/ota_from_target_files -p out/host/linux-x86 --block -x pagesize=4096 -v -k build/target/product/security/testkey out/dist/merged-qssi_kona-target_files.zip ota.zip
将build/target/product/security/testkey 更改为build/target/product/security/platform(或者自己的签名文件)
./build/make/tools/releasetools/ota_from_target_files -p out/host/linux-x86 --block -x pagesize=4096 -v -k build/target/product/security/platform out/dist/merged-qssi_kona-target_files.zip ota.zip
./build/make/tools/releasetools/ota_from_target_files -p out/host/linux-x86 --block -x pagesize=4096 -v -k build/target/product/security/testkey out/dist/merged-qssi_kona-target_files.zip ota.zip
生成ota_info.txt
python ota.py ota.zip > ota_info.txt
ota.py内容
import sys
import zipfile
def main():
if len(sys.argv) != 2:
sys.stderr.write('Use: %s <ota_file.zip>\n' % sys.argv[0])
return 1
otazip = zipfile.ZipFile(sys.argv[1], 'r')
payload_info = otazip.getinfo('payload.bin')
payload_offset = payload_info.header_offset + len(payload_info.FileHeader())
payload_size = payload_info.file_size
payload_location = '/sdcard/update.zip'
headers = otazip.read('payload_properties.txt')
print ((
'update_engine_client --update --follow --payload=file://{payload_location}'
' --offset={payload_offset} --size={payload_size}'
' --headers="{headers}"').format(**locals()))
return 0
if __name__ == '__main__':
sys.exit(main())