码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Android平台 Target API level 升级到 31,在Android 12上启动黑屏卡死


    项目场景:

    项目上架平台要求android API需要升级到31及以上才行,API升级到33版本后经测试在android12/13机型上会卡在启动页面,打开调试日志也没报错。


    问题描述

    Android平台 Target API level 升级到 31,在Android 12上启动黑屏卡死


    原因分析:

    查了一下这个问题,是因为TelephonyManager的listen函数在Android12过期了,如果没有授权READ_PHONE_STATE权限,此函数会抛出一个SecurityException

    而Unity在启用了自带的音频系统的情况下,恰巧在启动时机会去调用这个方法以实现“在用户接电话时游戏静音”的功能,抛出的异常影响了后续的流程导致卡死

    有人遇到了类似的问题,但是表现为崩溃:
    https://forum.unity.com/threads/android-12-telephony-crash.1287986/
    项目能升级引擎的话可以试试
    https://issuetracker.unity3d.com/issues/android-player-crashing-in-fmod-when-targetting-sdk-level-31
    里提到的修复的版本


    解决方案:

    1.升级引擎到2019以上版本,我升级到2019.4.9F1和2019.4.40版本经测试在android12、13机型上均可正常进入游戏,不会卡死。

    2.如果项目不能升级引擎,也有一个解决办法:

    • 反编译classes.jar
    • 修改UnityPlayer类的addPhoneCallListener实现,判断
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) return;
      据说Android12开始不需要自己处理静音了
    • 再编回classes.jar

    备注:方法2自己试了下修改classes.jar后不知道怎么重新将.java编译回calss文件,因为在eclipse里边.java文件一直报错,没办法进行编译。

    参考文章

  • 相关阅读:
    【C++】string模拟实现
    开源创新框架MoA,可极大增强大模型的能力
    自适应MSER波束形成辅助接收机的MATLAB仿真
    springboot项目获取包下有RestController注解的class
    【计算机网络 一 概述】
    【Reinforcement Learning】强化学习基础内容有哪些?
    webpack项目篇(六十六):react 全家桶 和 webpack 开发 h5 商城项目的整体思路
    关于Docker中容器之间互相访问问题
    利用Github Action实现Tornadofx/JavaFx打包
    研究告诉你,晨练好,还是晚练好?看看你运动的方式是正确的吗
  • 原文地址:https://blog.csdn.net/leo347/article/details/126804229
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号