近日,在做高通平台项目时遇到OTA包验签失败,具体原因应该是编译过程中该包的签名被改变(真实情况与本篇内容无关,不再赘述)。于是想到的是对此OTA包重新打包。
按照网上的方法:
java -Xmx1024m -jar out/host/linux-x86/framework/signapk.jar -w build/target/product/security/testkey.x509.pem build/target/product/security/testkey.pk8 update_1.zip update.zip
出现以下报错:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no conscrypt_openjdk_jni-linux-x86_64 in java.library.path
根本原因是java环境没有配置所需的库,需要指定library的路径为out/host/linux-x86/lib64
完整命令如下:
java -Djava.library.path=out/host/linux-x86/lib64 -jar out/host/linux-x86/framework/signapk.jar -w build/target/product/security/testkey.x509.pem build/target/product/security/testkey.pk8 sign/update_1.zip sign/update.zip