RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
AndroidOTA差分包制作(RK平台)-创新互联
一、步骤说明

1. 编译两个新旧版本,需要用到两个版本的rk3566_r-target_files-eng.zip文件。

创新互联是由多位在大型网络公司、广告设计公司的优秀设计人员和策划人员组成的一个具有丰富经验的团队,其中包括网站策划、网页美工、网站程序员、网页设计师、平面广告设计师、网络营销人员及形象策划。承接:成都网站建设、网站建设、网站改版、网页设计制作、网站建设与维护、网络推广、数据库开发,以高性价比制作企业网站、行业门户平台等全方位的服务。

2. 将两个版本的rockdev/Image-rk3566_r/rk3566_r-target_files-eng.zip拷贝到某个制作空间下,建议文件命名带上型号及版本号,方便维护,如:

rk3566_r-target_files-XXModel-V3.0.0.zip

rk3566_r-target_files-XXModel-V3.0.1.zip

3. 在源码目录下执行source和 launch操作。

4. 使用源码中ota_from_target_files脚本制作差分包:

./build/tools/releasetools/ota_from_target_files -p out/host/linux-x86 -k build/target/product/security/testkey -i version_low.zip version_high.zip ota_version_low_to_version_high.zip

参数含义:

-p:执行脚本所需的依赖库路径

-k:指定系统所使用的签名

注:

1.以上两个参数必须带上,否则会报错;

2.会依赖 out/host/linux-x86目录下的相关资源。

不同平台估计有差异,以实际为准。

二、示例

1. 拷贝版本到制作空间

cp /data/version/rk3566_r11/Image-rk3566_r_83372e_1123/rk3566_r-target_files-eng.zip ota_diff_space/rk3566_r-target_XXX_V3.0.0.zip

cp rkcode_sdk11.0_r11/rockdev/Image-rk3566_r/rk3566_r-target_files-eng.zip ota_diff_space/rk3566_r-target_XXX_V3.0.1.zip

2. 进到源码根目录,先执行source和lunch

source build/envsetup.sh

lunch 51

3. 执行差分包制作命令:

KVM:/data/workspace/RK_3566_USER_R11/rkcode_sdk11.0_r11$ ./build/tools/releasetools/ota_from_target_files -p out/host/linux-x86 -k build/target/product/security/testkey -i ../ota_diff_space/rk3566_r-target_XXX_V3.0.0.zip ../ota_diff_space/rk3566_r-target_XXX_V3.0.1.zip ../ota_diff_space/rk3566_r_ota_XXX_V3.0.0_to_V3.0.1.zip 2022-12-02 10:12:31 - common.py - WARNING : Failed to read SYSTEM/etc/build.prop 2022-12-02 10:12:31 - common.py - WARNING : Failed to read VENDOR/etc/build.prop 2022-12-02 10:12:31 - common.py - WARNING : Failed to read PRODUCT/etc/build.prop 2022-12-02 10:12:31 - common.py - WARNING : Failed to read SYSTEM_EXT/etc/build.prop 2022-12-02 10:12:31 - common.py - WARNING : Failed to read SYSTEM/etc/build.prop 2022-12-02 10:12:31 - common.py - WARNING : Failed to read VENDOR/etc/build.prop 2022-12-02 10:12:31 - common.py - WARNING : Failed to read PRODUCT/etc/build.prop 2022-12-02 10:12:31 - common.py - WARNING : Failed to read SYSTEM_EXT/etc/build.prop 2022-12-02 10:15:25 - common.py - WARNING : Failed to read SYSTEM/etc/build.prop 2022-12-02 10:15:25 - common.py - WARNING : Failed to read VENDOR/etc/build.prop 2022-12-02 10:15:25 - common.py - WARNING : Failed to read PRODUCT/etc/build.prop 2022-12-02 10:15:25 - common.py - WARNING : Failed to read SYSTEM_EXT/etc/build.prop 2022-12-02 10:15:26 - common.py - WARNING : Failed to read SYSTEM/etc/build.prop 2022-12-02 10:15:26 - common.py - WARNING : Failed to read VENDOR/etc/build.prop 2022-12-02 10:15:26 - common.py - WARNING : Failed to read PRODUCT/etc/build.prop 2022-12-02 10:15:26 - common.py - WARNING : Failed to read SYSTEM_EXT/etc/build.prop 2022-12-02 10:15:26 - common.py - WARNING : Failed to read SYSTEM/etc/build.prop 2022-12-02 10:15:26 - common.py - WARNING : Failed to read VENDOR/etc/build.prop 2022-12-02 10:15:26 - common.py - WARNING : Failed to read PRODUCT/etc/build.prop 2022-12-02 10:15:26 - common.py - WARNING : Failed to read SYSTEM_EXT/etc/build.prop 2022-12-02 10:15:26 - common.py - WARNING : Failed to read SYSTEM/etc/build.prop 2022-12-02 10:15:26 - common.py - WARNING : Failed to read VENDOR/etc/build.prop 2022-12-02 10:15:26 - common.py - WARNING : Failed to read PRODUCT/etc/build.prop 2022-12-02 10:15:26 - common.py - WARNING : Failed to read SYSTEM_EXT/etc/build.prop 2022-12-02 10:15:26 - common.py - WARNING : Failed to read SYSTEM/etc/build.prop 2022-12-02 10:15:26 - common.py - WARNING : Failed to read VENDOR/etc/build.prop 2022-12-02 10:15:26 - common.py - WARNING : Failed to read PRODUCT/etc/build.prop 2022-12-02 10:15:26 - common.py - WARNING : Failed to read SYSTEM_EXT/etc/build.prop 2022-12-02 10:15:26 - common.py - WARNING : Failed to read SYSTEM/etc/build.prop 2022-12-02 10:15:26 - common.py - WARNING : Failed to read VENDOR/etc/build.prop 2022-12-02 10:15:26 - common.py - WARNING : Failed to read PRODUCT/etc/build.prop 2022-12-02 10:15:26 - common.py - WARNING : Failed to read SYSTEM_EXT/etc/build.prop 2022-12-02 10:15:43 - ota_from_target_files - WARNING : Duplicate block difference found. Device specific block diff for partition 'system_ext' overrides the one in generic script. 2022-12-02 10:15:43 - ota_from_target_files - WARNING : Duplicate block difference found. Device specific block diff for partition 'product' overrides the one in generic script. 2022-12-02 10:15:43 - ota_from_target_files - WARNING : Duplicate block difference found. Device specific block diff for partition 'odm' overrides the one in generic script. trust unchanged; skipping vbmeta unchanged; skipping dtbo unchanged; skipping write uboot now... charge unchanged; skipping resource unchanged; skipping warning: rk loader bin missing from target; not flashing loader warning: rk loader bin missing from source; not flashing loader loader unchanged; skipping vendor_boot unchanged; skipping logo unchanged; skipping

三、错误记录

其中-p参数没有配置上的话,将会出现如下错误:

2022-11-29 19:50:02 - ota_from_target_files.py - ERROR : ERROR: Traceback (most recent call last): File "../../../build/tools/releasetools/ota_from_target_files.py", line 2258, inmain(sys.argv[1:]) File "../../../build/tools/releasetools/ota_from_target_files.py", line 2237, in main source_file=OPTIONS.incremental_source) File "../../../build/tools/releasetools/ota_from_target_files.py", line 1992, in GenerateNonAbOtaPackage output_file) File "../../../build/tools/releasetools/ota_from_target_files.py", line 1616, in WriteBlockIncrementalOTAPackage FinalizeMetadata(metadata, staging_file, output_file, needed_property_files) File "../../../build/tools/releasetools/ota_from_target_files.py", line 1328, in FinalizeMetadata prelim_signing = ComputeAllPropertyFiles(input_file, needed_property_files) File "../../../build/tools/releasetools/ota_from_target_files.py", line 1314, in ComputeAllPropertyFiles SignOutput(input_file, prelim_signing) File "../../../build/tools/releasetools/ota_from_target_files.py", line 492, in SignOutput whole_file=True) File "/data/workspace/RK_3566_USER_R11/rkcode_sdk11.0_r11/build/make/tools/releasetools/common.py", line 1854, in SignFile proc.returncode, stdoutdata)) ExternalError: Failed to run signapk.jar: return code 1: Exception in thread "main" java.lang.ExceptionInInitializerError at org.conscrypt.OpenSSLBIOInputStream.(OpenSSLBIOInputStream.java:34) at org.conscrypt.OpenSSLX509Certificate.fromX509PemInputStream(OpenSSLX509Certificate.java:119) at org.conscrypt.OpenSSLX509CertificateFactory$1.fromX509PemInputStream(OpenSSLX509CertificateFactory.java:220) at org.conscrypt.OpenSSLX509CertificateFactory$1.fromX509PemInputStream(OpenSSLX509CertificateFactory.java:216) at org.conscrypt.OpenSSLX509CertificateFactory$Parser.generateItem(OpenSSLX509CertificateFactory.java:94) at org.conscrypt.OpenSSLX509CertificateFactory.engineGenerateCertificate(OpenSSLX509CertificateFactory.java:272) at java.base/java.security.cert.CertificateFactory.generateCertificate(CertificateFactory.java:355) at com.android.signapk.SignApk.readPublicKey(SignApk.java:184) at com.android.signapk.SignApk.main(SignApk.java:1007) Caused by: java.lang.IllegalArgumentException: Failed to load any of the given libraries: [conscrypt_openjdk_jni-linux-x86_64, conscrypt_openjdk_jni-linux-x86_64-fedora, conscrypt_openjdk_jni] at org.conscrypt.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:160) at org.conscrypt.NativeCryptoJni.init(NativeCryptoJni.java:49) at org.conscrypt.NativeCrypto.(NativeCrypto.java:53) ... 9 more

四、参考

RK3326平台Android9.0OTA差分包制作_abner.Li的博客-博客_android ota差分包制作

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前名称:AndroidOTA差分包制作(RK平台)-创新互联
新闻来源:http://sczitong.cn/article/gocig.html