V2级签名 与 四字节对齐

一、V2签名

之前使用keytools + jarsigner 对APK进行签名,属于V1签名
直到后面遇到了这种问题
Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Scanning Failed.: No signature found in package of version 2 or newer for package com.silence.scoreboard]
报错原因是,我的手机是Android 11版本的,而Android 11版本之后必须使用V2或更高版本签名
 
0
我的解决方法是使用ApkSigner进行V2签名
参考微软官方文献:
#keytool -genkeypair -v -keystore <filename>.keystore -alias <key-name> -keyalg RSA \
#          -keysize 2048 -validity 10000
1、keytool -genkeypair -v -keystore xample.keystore -alias publishingdoc -keyalg RSA -keysize 2048 -validity 10000
#若要列出存储在密钥存储中的密钥,请使用 keytool 和 – 
#list 选项:keytool -list -keystore xample.keystore

#使用 Zipalign 优化 APK
2、zipalign -f -v 4 helloworld-unsigned.apk Shengchenghelloworld.apk

#对APK进行签名
3、 apksigner sign --ks xample.keystore --ks-key-alias publishingdoc Shengchenghelloworld.apk

二、四字节对齐

Android要求apk文件四字节对齐,不然就报错,很是傲娇
解决方法:
1、四字节对齐:
zipalign -f -v 4 helloworld-unsigned.apk OutPut.apk
2、检测四字节对齐
zipalign -c -v 4 output_unsigned.apk
posted @ 2022-08-05 22:55  TLSN  阅读(708)  评论(0编辑  收藏  举报