那些年遇到过的奇奇怪怪的问题(持续更新)
1. Android app "ballrun" crash
- 详情:遇到给app "ballrun" crash的bug,reporter给的log里crash很明显指向media codec,我也抓到了同样的log。但是media的developer却没有抓到media codec2的crash,而是audio crash。后来我仔细看我的log里media codec和audio的crash都有。而media developer的log里只有audio crash的log。进一步检查发现repoter和我一开始抓log的时候没有用adb logcat -c去清理开机log,而media codec2的crash只发生在开机之后,在运行 "ballrun" app时只有audio crash的log。
- 经验:debug Android抓log的时候,最好预先用adb logcat -c去清理一下已有的Log。
2. Android app --abi与获取apk文件
- 详情:Android的app实际上是可以支持多种架构的,比如arm的32bit和64bit,x86的32bit和64bit,而app能否支持对应平台的运行取决于App是否包含对应平台运行所需要的library。检查library的方法是把apk改名为zip进行解压,然后在解压后的文件夹里找到lib文件夹,点进去查看支持库的情况,不同平台的library会分类存储在对应平台的文件夹里。比如armeabi-v7a对应arm的32bit库,armeabi-v8a对应arm 64bit,x86和x86_64就不用说了。
- 经验:可以利用"adb install --abi"根据debug需求安装对应版本的app,比如如果我想安装arm 64bit版本的app,用"adb install --abi armeabi-v8a <apk_file>"。另外可以在https://m.apkpure.com/上获取到想要的apk文件,因为google play并不支持直接下载apk文件。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现