mPaaS 旧版基线对 targetSdkVersion 最高仅支持到 26。从 10.1.68.21 开始,mPaaS 增加了对 targetSdkVersion 28 的支持。
如果您的应用需要将 targetSdkVersion 升级到 28,请使用 mPaaS 插件 将 SDK 更新到 10.1.68.21 或以上版本,并按照下文进行适配和回归相关功能。
在工程主 module 下的 build.gradle
文件中修改属性 targetSdkVersion 28。
build.gradle
文件中修改属性 targetSdkVersion 28。修改工程 AndroidManifest.xml
,在 application 节点下添加如下代码:
<uses-library android:name="org.apache.http.legacy" android:required="false"/>
修改 Portal 工程 AndroidManifest.xml
:
<uses-library android:name="org.apache.http.legacy" android:required="false"/>
android:screenOrientation="portrait"
Android 9.0 的网络配置默认禁止了 HTTP 请求,只允许 HTTPS 请求,设置 targetSdkVersion 28 将在 9.0+ 设备上启用 9.0 的网络配置。如果您仍然需要发送 HTTP 请求(包括小程序中),可通过配置 networkSecurityConfig 开启。
res/xml
目录下创建 network_security_config.xml
文件,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</base-config>
</network-security-config>
AndroidManifest.xml
中的 application 节点添加属性:
android:networkSecurityConfig="@xml/network_security_config"
更多配置可参考 谷歌官方文档 。
该适配点为 Android 8.0 系统 bug。在 8.0 设备上,当应用 targetSdkVersion > 26 时,透明背景的 Activity 如果设置了屏幕方向,打开该 Activity 就会触发 crash。触发具体条件为:
windowIsTranslucent
或 windowIsFloating
属性为 true。AndroidManifest.xml
中设置了 screenOrientation
属性,或调用了 setRequestedOrientation
方法。您需要检查所有 Activity 是否满足触发条件,同时除了您自定义的 style 外,请注意部分常用的系统 theme 也满足条件,例如:
@android:style/Theme.Translucent.NoTitleBar
@android:style/Theme.Dialog
推荐适配方式:
AndroidManifest.xml
中的 screenOrientation
属性,改为调用 setRequestedOrientation
方法。在对应 Activity 或父类中重写 setRequestedOrientation
方法,try catch super.setRequestedOrientation()
兜底:
@Override
public void setRequestedOrientation(int requestedOrientation) {
try {
super.setRequestedOrientation(requestedOrientation);
} catch (Exception ignore) {
}
}
BaseActivity
、BaseFragmentActivity
、BaseAppCompatActivtiy
均已重写 setRequestedOrientation
方法兜底。Android 8.0 系统相关源码:
全量回归测试的设备中必须包含 Android 9.0 以上版本的设备,同时对于透明背景 Activity 设置屏幕方向 crash 问题,请在 Android 8.0 机型上专项测试。
回归测试中您需要重点关注以下组件功能(如果使用):
组件 | 验证项目 |
---|---|
移动网关 | - 开启 签名校验 后,RPC调用是否成功。 - 开启 数据加密 后,RPC调用是否成功。 |
热修复 | - 热修复 是否能够生效。 |
UC内核 | - H5容器使用UC内核 后,各项功能是否正常。 - 小程序 (必须使用UC内核),各项功能是否正常。 - 小程序打开手机相册、拍照及预览 是否正常。 - 小程序发起 HTTP 请求 是否成功(如果强制开启了 HTTP)。 |
扫一扫 | - 标准 UI 扫码是否成功。 - 标准 UI 打开手机相册、拍照及预览是否正常。 - 自定义 UI 扫码是否成功,如自定义 UI,需要 适配部分新接口。 |
统一存储 | - 数据库加密存储 是否正常。 - 文件加密存储 是否正常。 |
分享 | - 分享到新浪微博、QQ 是否成功。 |
在文档使用中是否遇到以下问题
更多建议
匿名提交