前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >不适配targetSdkVersion的坑你了解吗?

不适配targetSdkVersion的坑你了解吗?

作者头像
用户5521279
发布2020-07-02 22:24:45
1.9K0
发布2020-07-02 22:24:45
举报
文章被收录于专栏:搜狗测试搜狗测试

前言

Android测试同学,不可避免的都接触过targetSdkVersion升级相关的测试,今天小编结合之前的经历聊一聊测试过程遇到的关于targetSdkVersion的坑。

问题现象和排查

小编参与测试的项目有一个产品线是由SDK和awp内核组成,为第三方提供优化移动端的web应用体验的解决方案。

近期,接入合作方的开发反馈了一个很诡异的问题:他们正在开发新版本出现web页面加载后显示空白的问题。而这在其他接入方使用一年多时间都没有反馈过上述问题。

故,我们开始探案模式:整个过程采用典型的排除法来定位问题

STEP-01: 排查是否网站原因

和接入方沟通出现问题的机型和系统(AndroidQ)以及出现问题的链接,自行编译demo,但是并没有成功的复现问题。(排除由于网站原因导致白屏的可能)

STEP-02: 尝试寻找稳定复现路径

在出现问题机型上安装接入方提供的安装包,发现可以稳定复现网页白屏的问题。(说明该开发版本存在问题)

STEP-03: 排查awp代码改动的影响

使用接入方提供的安装包,替换加载早期版本的内核,惊奇的发现也是可以复现网页白屏的问题。(排除近期产品代码和功能的变更优化,引入上述问题)

STEP-04: 排查接入方代码改动的影响

使用接入方线上的安装包,分别加载早期和最新版本的内核,结果发现问题无法复现。(这个一度使我们陷入困境,怀疑是接入方自身代码错误而引入的问题)

STEP-05: 确认接入方代码改动对awp的影响

和接入方开发沟通,排查前后版本有哪些重大改动。(确认哪些改动,是否影响到awp的接入功能,最后发现该开发版本计划升级targetSdkVersion到api29)

STEP-06: demo尝试模拟出现问题场景

修改demo代码,更改targetSDKVersion为29,发现在Android Q手机上可以复现问题。

STEP-07: 确认导致问题的复现原因

基于上面的排查步骤,可以初步定位是由于接入方将targetSDKVersion升级29导致Android Q机型上独有的问题。之前一年没有反馈上述问题的原因是基本业界内主流应用targetSdkVersion大部分都没有升级到29,所以提前没有暴露上述问题。

STEP-08: 定位问题的深层原因

这个部分,测试同学在排查阶段不需要介入太多。由开发持续定位深层原因和修复问题。

问题原因

针对问题的后续的定位和排查,我们发现导致问题的原因是由于接入方升级targetSDKVersion为29,诱发了潜藏的共享内存问题,导致网页显示白屏。后续有机会可以针对共享内存问题总结分享一次。

Android Q共享内存特性详细参考:https://developer.android.com/about/versions/10/behavior-changes-10

隐患思考

细思下,这有个更隐患的问题。这个问题是在接入方开发过程提出发现的,如果到接入方测试后期才发现呢?或者由于未适配API29的机型呢?对于用户,这无疑将是一个重大伤害。

那我们在过程中的哪个环节存在问题呢:没有关注Android新版本的特性吗?没有关注共享内存对于逻辑细节的影响吗?

答案是否定的,这个是我们学习、总结、沉淀和提升的过程,但是并不是解决这个问题的核心方法。核心在于如何尽早发现上述问题。

问题解决与启示

解决这个问题的核心在于第一时间进行targetSdkVersion适配。

因为是为第三方提供服务的产品形态,所以和单一APP测试存在的区别是:在单一APP测试中,适配测试主要涉及分辨率适配,厂商机型适配,系统版本适配,ROM 适配,CPU架构适配和Android系统运行环境适配。但是单一APP特定版本targetSdkVersion是恒定的,不需要适配targetSDKVersion。

而作为第三方服务提供者,接入方targetSDKVersion版本并不统一,虽然接入方也不会第一时间升级到最新版本的targetSDKVersion。但是第一时间完成最新版本targetSDKVersion的适配,可以提前发现潜藏的问题,以便为接入方提供更好的服务。

结语

工作中需要学会尽可能避免踩坑,但实际上不可能做到完全杜绝。真正重要的是杜绝踩相同的坑,工作过程遇到的问题都是成长的宝藏:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 搜狗测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档