Unity打包生成APK文件提交应用宝踩坑记录

在将使用Unity2017.1.1开发的项目提交应用宝时,遇到不支持APK Signature Scheme V2的错误。通过命令行重新签名APK,但在删除META-INF文件夹后导致安装包解析失败。解决方案是直接使用签名工具进行重签,避免修改原始APK。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

公司的项目在提交应用宝时,遇到了如下的坑,特记录。

在公司提价APK文件至腾讯应用宝时,腾讯提示有如下错误:

暂时不支持APK Signature Scheme V2,请去掉该类型的签名后再上传。

查找资料发现安卓中的签名共有两种,V1和V2。V2是从Android 7.0新增的签名。由于项目使用Unity2017.1.1开发,默认使用V1和V2两种签名,这一设计是在Unity2017中添加的。直接降低版本是不现实的,Unity向下支持做的很差劲。于是四处查查找资料,最终采用了使用命令行的方式进行重新签名。

参考该文章进行了对项目APK包的重新签名,但是由于操作不当,引出了另一个新的坑。列出我当时的详细操作:

1.第一次接触安卓签名的东西,以为签名是要删除然后才可重新签名,查找资料后将APK包后缀名修改为zip,不解压直接删除包中的META-INF文件夹。(此处挖了第二个坑)

2.使用DOS窗口,进入JDK/bin文件夹下,使用签名命令为包体重新签名

jarsigner -keystore XXX.keystore -digestalg SHA1 -sigalg SHA1withRSA XXX.apk XXX

XXX.keystore为项目说用keystore,如果keystore文件不在JDK/bin文件夹内,此前应该加上keystore文件的路径。

XXX.apk同keystore一样,如果apk文件不在JDK/bin文件夹内,此前应该加上apk文件的路径。

XXX为keystore的别名。

就这么两步,验证发现包体中确实没有了V2版本的签名,也可正常安装到手机端,运行亦是正常。但是在上传应用宝时,反馈的错误信息是:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值