Android 11上游戏签名需要注意的问题(是否包含V2签名)

 最近碰到有游戏签名后出现安装不了的问题。如下图所示:

    image.png

        出现此问题的手机系统都是Android 11。拿到该游戏解析apk信息,targetSdkVersion值为30。这是一个目前比较多发的不带V2签名导致在特定环境下无法安装的问题。

       鉴于很多游戏对于Android的签名相关的情况不是特别了解,这里就Android的签名逻辑整理出此文档。

       Android 目前存在2种签名,一种是V1签名,另一种是V2签名。

       V1签名跟Jar包签名一样。缺点是校验速度比较慢,另外有些zip信息无法得到校验,于是从7.0开始引入V2签名。

      7.0之前的系统只能识别V1签名。7.0到10.0的系统同时支持V1和V2签名,优先使用V2签名。这个阶段只做V1签名在使用和分发上,都跟之前一样,没有任何问题。甚至于国内有些游戏渠道指定要求游戏包只能包含V1签名,不能带V2签名。

     到了2020年Android 11发布后,情况出现了变化。下图是Google新政策的原文:

image.png

       在Android 11上,如果targetSdkVersion为30或以上的话,应用就无法安装了。如果targetSdkVersion低于30,不存在这个问题。

       不过Unity引擎默认会使用最新的targetSdkVersion,有些游戏在不知情的情况下,targetSdkVersion被自动设置为30,导致在没有使用V2签名的情况下无法安装。

       Google在2021年8月开始,将强制所有新应用使用targetSdkVersion为30或更高。如下图所示:

 image.png

 

      因此以后游戏发布,建议使用V1+V2签名。目前FairGuard加固签名工具已设置为默认使用V1+V2签名的方式。

 

     FairGuard 专注于游戏加固与反外挂,致力于打造业界顶尖的游戏保护方案。

     研发了 SO 无导入函数加壳、iOS AB 资源加密、虚拟机底层指纹检测等多项独家保护功能。目前已被 FunPlus、三七互娱、游族等多家头部游戏公司采用。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值