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

出现此问题的手机系统都是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新政策的原文:

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

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

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

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

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

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

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

  1. android获取应用安装通知消息,如何在Android 11 上获取已安装应用列表

    在Android 11上,我们可以看到很多的更新都是用来保护隐私的,如果你的app 在使用PackageManger的方法来获取安装的应用列表, 那么在Android11上,就需要做一点改变了. 我们 ...

  2. Android 11 上的文件读写权限(MANAGE_EXTERNAL_STORAGE)

    平台 Android11 + RK3566 + AndroidStudio Android 权限的变化, 几乎每个版本的SDK都会有, 其中最大的一次是在6.0时, 增加的动态权限申请 读写存储的权限 ...

  3. 如何禁用两个虚拟化提升Windows 11上游戏性能

    如果您正在想办法让游戏在 Windows 11 上流畅运行,暂时关闭某些安全虚拟化功能可能会有所帮助. 这不仅仅是我们说的,微软也同意 Windows 11 中的一些虚拟环境功能可能会导致游戏性能下降 ...

  4. Android 签名机制原理解析和V1 、V2签名区别

    一.什么是签名? 是确保消息来源的真实性 是确保消息不会被第三方篡改 1.基本信息基础必备 1.1 消息摘要 消息摘要,又称数字摘要 或 数字指纹.  简单来说,消息摘要就是在消息数据上,执行一个单向 ...

  5. android代码使用adb,如何使用adb在Android 11上触发BroadcastReceiver?

    adb -s deviceid shell am broadcast -a android.intent.action.VIEW -n com.mypackage.broadcast/com.mypa ...

  6. RxHttp 完美适配Android 10/11 上传/下载/进度监听

    1.前言 随着Android 11的正式发布,适配Android 10/11 分区存储就更加的迫切了,因为Android 11开始,将强制开启分区存储,我们就无法再以绝对路径的方式去读写非沙盒目录下的 ...

  7. 在android平台上开发游戏

    开发android游戏有哪些方式? 有三种方式: 一般Unity在Android的开发分为三种形式: 完全用Unity打包成Apk,所有开发完全在Unity上 Android作为主体,把Unity作为 ...

  8. Google 推出 Android 11 的 Developer Preview 3 版本

    作者 | Emil Protalinski 译者 | 刘畅,责编 | 伍杏玲 出品 | CSDN(ID:CSDNnews) 以下为译文: 谷歌今天发布了第三款Android 11开发人员预览版,其中主 ...

  9. Android 11 变更及适配攻略

    终于开始了Android 11的适配工作.记录一下,供需要的人参考. 1. 准备工作 老规矩,首先将我们项目中的 targetSdkVersion 改为 30.或者使用兼容性调试工具,后面我会说到. ...

最新文章

  1. leetcode 30. Substring with Concatenation of All Words 与所有单词相关联的字串 滑动窗口法
  2. Cacti如何实现电话告警
  3. 程序员面试系列——约瑟夫环
  4. Android用GSon处理Json数据
  5. ASP.NET Core 基于角色的 JWT 令牌
  6. Java线程面试题,值得一看!
  7. mysql创建索引以及进程过程中出现的问题
  8. bottomnavigationview放大两边没有_有没有什么HAPPYEND的动漫?
  9. 剑指offer--面试题10
  10. linux 关闭setitimer_Linux定时器函数setitimer
  11. oracle 除重更新,oracle数据库11.2.0.3升级到11.2.0.4
  12. 树——牛客网刷题第二波
  13. Pdf.js 解决电子印章问题(最新)
  14. app开发已经过时了?app开发行业分析
  15. emWin 2天速成实例教程012_基于STM32单片机的全键盘中文汉字拼音输入法
  16. win7母机上的vmware12中Ubuntu16中安装复制粘贴工具
  17. 设计链表(单链表、双链表)
  18. 华为鸿蒙系统智能手机_知科技-新鲜事|华为将发布鸿蒙系统智能手机
  19. CF1169C. Increasing by Modulo(二分)
  20. ie 无人操作自动关闭_IE浏览器自动关闭的原因及解决办法

热门文章

  1. 短视频变现难,奖励看广告的用户会不会是一个好办法?
  2. 奔腾系列的CPU 和酷睿系列的CPU
  3. linux下同一文件系统,Linux文件系统详解
  4. VMware网络设置技巧
  5. CSS里的visibility属性有个collapse属性值,在不同浏览器下有什么区别?
  6. django出现Did you install mysqlclient
  7. 加密机和客户端互相验证身份
  8. 递归树分析时间复杂度
  9. 计算机三四级科目怎么选报?
  10. 【C++】初识模板,拿来吧你