警示:您的应用的签名算法采用“SHA256withRSA”,在部分4.2如下安卓版本的手机上不能安装。android
1.先构建一个apk包出来, 打开android studio, 依次点击build->Generate signed bundle/apk, 选择apk, 点击next, 填写keystore配置, 选择发布版本, 构建.
2.打开360加固助手, 应用加固->签名设置, 去掉 启动自动签名,以下图:
3.而后推到加固页面, 开始加固apk包.
4.对已经加固的apk包进行签名, 使用SHA1withRSA加密算法, 完整命令以下:web
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore 你存放keystore的绝对路径 -signedjar signed.apk jiagu.apk keystore_alias
这里解释一下jarsigner这个命令行工具的几个主要参数的意义:
-sigalg 即signature algorithm签名算法, 上360平台须要使用SHA1withRSA加密算法
-digestalg 摘要算法的名称, 这里使用SHA1
-keystore 对应你的apk的keystore文件的绝对路径
-signedjar 填写签名后你想保存的apk名称
最后两个参数, 一个是已加固未签名的apk文件路径, 另外一个是你的keystore文件在打包设置的别名算法
用法: jarsigner [选项] jar-file 别名
jarsigner -verify [选项] jar-file [别名…]安全
[-keystore ] 密钥库位置ide
[-storepass <口令>] 用于密钥库完整性的口令svg
[-storetype <类型>] 密钥库类型工具
[-keypass <口令>] 私有密钥的口令 (若是不一样)ui
[-certchain <文件>] 替代证书链文件的名称this
[-sigfile <文件>] .SF/.DSA 文件的名称加密
[-signedjar <文件>] 已签名的 JAR 文件的名称
[-digestalg <算法>] 摘要算法的名称
[-sigalg <算法>] 签名算法的名称
[-verify] 验证已签名的 JAR 文件
[-verbose[:suboptions]] 签名/验证时输出详细信息。
子选项能够是 all, grouped 或 summary
[-certs] 输出详细信息和验证时显示证书
[-tsa ] 时间戳颁发机构的位置
[-tsacert <别名>] 时间戳颁发机构的公共密钥证书
[-tsapolicyid ] 时间戳颁发机构的 TSAPolicyID
[-tsadigestalg <算法>] 时间戳请求中的摘要数据的算法
[-altsigner <类>] 替代的签名机制的类名
(此选项已过期。)
[-altsignerpath <路径列表>] 替代的签名机制的位置
(此选项已过期。)
[-internalsf] 在签名块内包含 .SF 文件
[-sectionsonly] 不计算整个清单的散列
[-protected] 密钥库具备受保护验证路径
[-providerName <名称>] 提供方名称
[-addprovider <名称> 按名称 (例如 SunPKCS11) 添加安全提供方
[-providerArg <参数>]] … 配置 -addprovider 的参数
[-providerClass <类> 按全限定类名添加安全提供方
[-providerArg <参数>]] … 配置 -providerClass 的参数
[-strict] 将警告视为错误
[-conf ] 指定预配置的选项文件
[-? -h --help] 输出此帮助消息
If you get help from this article, please buy me a cup of coffee.