核心应用质量指南

上次更新时间:2026 年 3 月 20 日

如需为优质应用奠定坚实的基础,请遵循核心应用质量指南。

该指南定义了所有应用都应满足的最低质量要求。

自适应应用质量

Android 应用可在各种设备上运行,包括紧凑型手机、平板电脑、可折叠设备、桌面设备、外接显示屏、车载信息娱乐系统、电视和 XR 设备。分屏和窗口化模式等窗口模式使应用能够在屏幕的可调整大小部分中运行。

遵循自适应应用质量指南(以及核心应用质量指南),以便:

  • 打造针对所有外形规格和屏幕尺寸进行优化的应用
  • 让您的应用在 Google Play 商品详情和搜索结果中排名更高
  • 获取更多用户并提高用户留存率

指南

以下核心指南可帮助您打造基本的优质应用。

用户体验

您的应用应提供标准的 Android 视觉设计和互动模式,以实现一致且直观的用户体验。

尽可能使用 Material Design 组件(而非 Android 平台组件)来创建应用界面。Material Design 可提供现代化的 Android 外观和风格,并在各个 Android 版本中保持界面一致性。

ID 测试 说明
易用性
Usability:UX T-Usability:Core、
T-SD-Card
应用在所有设备类型上为所有应用用例提供一致的用户体验。
Usability:Switcher T-Usability:Switcher,
T-SD-Card
当焦点切换到其他应用时,应用会进入后台。当从最近用过的应用切换器中重新激活应用时,应用会返回前台。
Usability:Sleep T-Usability:Sleep、
T-SD-Card
当应用在前台运行时,它会在设备进入休眠状态时暂停,并在设备唤醒时恢复。
Usability:Lock T-Usability:Lock、
T-SD-Card
当应用在前台运行时,它会在设备锁定时暂停,并在设备解锁时恢复。
界面
界面:对等 T-UI:过渡

在不同的屏幕方向和折叠状态下,所展现的功能特性和操作基本相同。

UI:Fullscreen T-UI:过渡

在两种屏幕方向下,应用都会填满应用窗口,并且不会因配置变更(包括设备折叠和展开)而采用信箱模式。

可接受为补偿屏幕几何图形的细微差异而出现少许黑边现象。

界面:转场效果 T-UI:过渡 应用能正确处理屏幕方向之间的快速转换及设备折叠/展开,而不会出现呈现问题或丢失状态。
画质
Visual:Display T-Visual:Display

应用显示的图形、文字、图像和其他界面元素没有明显的失真、模糊或像素化现象。

  • 应用尽可能使用矢量可绘制对象
  • 应用针对所有目标屏幕尺寸和设备外形规格使用高品质图形
  • 菜单、按钮和其他界面元素的边缘没有锯齿
视觉:可读性 T-Visual:Readability 应用通过将每行长度限制为 45-75 个字符(包括空格)来确保文本和文本块的可读性,此限制适用于应用支持的每种语言。
Visual:Themes T-Visual:Themes 应用的内容以及应用访问的所有 Web 内容都支持浅色主题和深色主题。
导航
T-Nav:Back 应用支持标准返回按钮导航,不使用任何自定义的屏幕返回按钮提示。
T-Nav:Back 应用支持通过手势导航返回和前往主屏幕。
T-Nav:State、
T-Nav:Back

应用在离开前台时能够保留用户状态或应用状态,并可防止因返回导航和其他状态更改而意外丢失数据。

返回前台时,应用会恢复保留的状态和任何待处理的有状态事务。例如,对可编辑字段、游戏进度、菜单、视频以及应用其他部分的更改。

  • 当应用从最近用过的应用应用切换器中恢复时,应用会将用户返回到上次使用应用时的确切状态。
  • 当设备从休眠(锁定)状态唤醒后,应用会恢复到用户上次使用该应用时的确切状态。
  • 从主屏幕或所有应用中重新启动应用时,应用应执行以下操作之一,具体取决于自上次使用应用以来经过了多长时间:
    • 如果应用在不久前(几分钟前)使用过,请尽可能将应用状态恢复为之前的状态。
    • 如果距离上次使用应用的时间更长,请尝试将应用恢复为尽可能接近之前的状态,或者从主屏幕或某个其他默认状态启动应用。
通知
通知:信息 T-Notify:Info

通知会提供与您的应用相关的实用信息。

  • 请勿使用通知进行交叉推介或宣传其他产品,因为 Play 商店严禁此类行为。
  • 通知渠道是根据最佳实践定义的,而不是通过一个渠道提供所有通知。
  • 选择正确的通知优先级。
  • 如果可能,将多个通知堆叠到一个通知组中。
  • 在适当的情况下为通知设置超时。
  • 仅在与进行中的事件(例如音乐播放或通话)相关时,通知才持续保留。如需了解详情,请参阅“功能”部分。
Notify:Messaging T-Notify:Info

对于即时通讯应用、社交应用和对话:

无障碍
Access:Targets T-Access:目标 触摸目标至少为 48 dp。请参阅 Material Design 布局和排版指南。
Access:Contrast T-Access:Contrast

应用文本和前景内容与应用背景保持以下对比度:

  • 3:1,适用于大号文字和图形
  • 4.5:1,适用于小号文字(小于 18 pt,或者如果文字为粗体,则小于 14 pt)

详细了解颜色和对比度。

Access:Description T-Access:Description 使用 contentDescription 描述每个界面元素(TextView 除外)。

功能

您的应用应实现以下功能行为。

ID 测试 说明
音频
音频:初始化 T-Audio:Init

当用户发起音频播放时,应用应在一秒钟内执行以下某项操作:

  • 开始播放音频
  • 提供视觉指示器,表明正在准备音频数据
音频:焦点 T-Audio:Focus 应用应在音频开始播放时请求音频焦点,并在播放停止时放弃音频焦点。
音频:中断 T-Audio:Interrupt 应用应处理其他应用对音频焦点的请求。例如,在其他应用播放语音时,应用可能会降低播放音量。
音频:背景 T-Audio:Background 应用应支持后台播放。
Audio:Notification T-Audio:Notification 当应用在后台播放音频时,应用必须创建采用 MediaStyle 样式的通知。
Audio:Resume T-Audio:Resume 如果应用在后台运行且音频已暂停,则当应用返回前台时,音频会继续播放,否则应用必须向用户表明播放处于暂停状态。
视频
视频:画中画 T-Video:PiP 如果应用播放视频,则应支持画中画播放。
Video:Encoding T-Video:Encoding 如果应用对视频进行编码,则应使用 HEVC 视频压缩标准。
共享
Sharing:Sheet T-Sharing:Sheet 如果共享内容,应用应使用 Android Sharesheet。该应用可以推荐自定义解决方案不可用的目标。
后台服务
背景:服务 T-Background:Services

应用避免在后台运行不必要的长时间服务,以确保用户设备能够平稳运行。

注意:系统会对后台服务应用各种限制。

以下是后台服务的不当使用方式:

  • 保持网络连接以接收通知
  • 保持蓝牙连接
  • 让 GPS 保持开启状态

如需了解详情,请参阅后台任务概览。

性能和稳定性

您的应用应提供最佳性能、稳定性、兼容性和响应速度。

ID 测试 说明
性能
性能:启动 T-Performance:Startup 应用加载速度快,或者如果应用加载时间超过 2 秒,则会向用户提供屏幕反馈(进度指示器或类似提示)。
性能:FPS T-Performance:FPS 应用每 16 毫秒(或更短时间)渲染一帧,以达到每秒至少显示 60 帧。如需有关渲染问题的帮助,请参阅呈现速度缓慢。
性能:严格 T-Performance:Strict 启用 StrictMode(请参阅 StrictMode 测试部分)后,在测试应用时不会看到红色闪烁(来自 StrictMode 的性能警告)。
稳定性
稳定性:ANR T-Stability:ANR 应用不会崩溃或阻塞界面线程,从而导致 ANR(Android 无响应)错误。使用 Google Play 发布前测试报告找出潜在的稳定性问题。部署后,请监控 Google Play 管理中心内的 Android Vitals 页面。
SDK
SDK:平台 T-SDK:平台 应用可在最新公开版本的 Android 平台上运行,不会发生崩溃或严重影响核心功能。
SDK:目标 T-SDK:最新 应用通过在应用的模块 build.gradle 文件中设置 targetSdk 值来以最新的 Android SDK 为目标平台(为符合 Google Play 要求)。
SDK:编译 T-SDK:最新 应用通过在应用的模块 build.gradle 文件中设置 compileSdk 值来使用最新 Android SDK 进行构建。
SDK:第三方 T-SDK:第三方、
T-SDK:非第三方

使用的所有 Google SDK 或第三方 SDK 均为最新版本。对这些 SDK 所做的任何改进(涉及稳定性、兼容性或安全性)都应及时向用户提供。

对于 Google SDK,请使用由 Google Play 服务提供支持的 SDK(若有)。这些 SDK 可向后兼容、接收自动更新、缩减应用软件包的大小,以及高效利用设备上的资源。

SDK:非 T-SDK:无 应用不会使用非 SDK 接口。
SDK:调试 T-SDK:调试 正式版应用中不包含任何调试库。应用中包含调试库可能会导致性能和安全问题。
电池
电池:管理 T-Battery:Manage

应用正确支持低电耗模式和应用待机模式电源管理功能。

应用可以请求电源维护豁免。请参阅针对低电耗模式和应用待机模式进行优化中的对其他用例的支持。

隐私权和安全

应用会安全地处理用户数据和个人信息,并提供适当级别的权限。

在 Google Play 商店中发布的应用还必须遵守 Google Play 用户数据政策,以保护用户隐私。

ID 测试 说明
权限
权限:最低 T-Permissions:Min 应用仅请求支持当前用例所需的绝对最低权限。对于某些权限(如位置信息),应用会尽可能使用粗略规格代替精确规格。请参阅尽量减少权限请求。
权限:敏感 T-Permissions:Sensitive

仅当与应用的核心使用情形直接相关时,应用才会请求获取访问敏感数据(例如短信或通话记录权限组或位置信息)或者付费服务(例如拨号器或短信)的权限。必须以醒目的方式向用户披露使用这些权限所产生的影响。

根据应用使用权限的方式,您或许可以通过其他方式实现应用的用例,而无需依赖于访问敏感信息。例如,不要请求与用户通讯录相关的权限,而是使用隐式 intent 请求访问权限。

权限:运行时 T-Permissions:Runtime 应用在请求功能时(而非应用启动期间)请求运行时权限。
Permissions:Explain T-Permissions:Explain 应用会清晰地说明需要权限的原因。
权限:降级 T-Permissions:Degrade 当用户拒绝或撤消某项权限时,应用会适当降级。应用不应完全阻止用户访问。
数据和文件
Data:Sensitive T-Data:Sensitive,
T-Data:Handling
所有敏感数据都存储在应用的内部存储空间中。
Data:Log T-Data:Log 不会将任何个人数据或敏感用户数据记录到系统日志或应用专用日志中。
Data:IDs T-Data:IDs 应用不会出于识别身份的目的而使用任何不可重置的硬件 ID(例如 IMEI)。
身份
Identity:Hints T-Identity:Hints 应用会提供提示以自动填充账号凭证和其他敏感信息(例如:信用卡信息、实际地址和电话号码)。
Identity:CredMan T-Identity:CredMan 应用集成了 Credential Manager for Android,可提供顺畅的登录体验,并统一支持通行密钥、联合身份和密码。
Identity:Bio T-Identity:Bio 应用支持生物识别验证,可保护财务交易或敏感信息(例如重要的用户文档)。
应用组件
Components:Export T-Components:Export

应用会为所有 activity、service、广播接收器,尤其是 content provider 显式设置 android:exported 属性。

仅导出与其他应用共享数据的应用组件,或应由其他应用调用的组件。

Components:Permissions T-Components:Permissions

所有 intent 和广播遵循以下最佳做法:

Components:Protection T-Components:Protection

在应用之间共享内容的所有组件均针对自定义权限使用 android:protectionLevel="signature"。这包括 activity、service、广播接收器,尤其是 content provider。

应用不应依赖于访问已安装软件包的列表。

网络
网络:流量 T-Network:Traffic 所有网络流量都通过 SSL 发送。
Network:Config T-Network:Config 应用声明了网络安全配置。
网络:Play T-Network:Play 如果应用使用 Google Play 服务,则安全提供程序在应用启动时进行初始化。
WebView
WebViews:Config T-WebViews:Config、
T-WebViews:Nav
请勿使用 setAllowUniversalAccessFromFileURLs() 访问本地内容。而应使用 WebViewAssetLoader。
WebViews:JavaScript T-WebViews:JavaScript,
T-WebViews:Nav

Web 视图不应搭配使用 addJavaScriptInterface() 与不受信任的内容。

在 Android 6.0(API 级别 23 及更高级别)上,请改用 HTML 消息通道。

执行
执行:内容包 T-Execution:Bundles

应用不会从应用 APK 外部动态加载代码。使用 Android App Bundle,其中包括 Play Feature Delivery 和 Play Asset Delivery。

从 2021 年 8 月开始,在 Google Play 商店中发布的所有新应用都必须使用 Android App Bundle。

加密
Crypto:Algorithms T-Crypto:Algorithms 应用使用平台提供的强大加密算法和随机数生成器。此外,该应用未实现自定义算法。

Google Play

让您的应用能够在 Google Play 上发布。

ID 测试 说明
政策
Play:政策 T-Play:政策 应用严格遵守《Google Play 开发者内容政策》的条款,不提供不当内容,也不使用他人的知识产权或品牌。
Play:成熟度 T-Play:政策 应用的心智成熟度级别已根据内容分级指南进行了适当设置。
应用详情页面
Play:Graphics T-Play:Graphics,
T-Play:Assets

应用特征图片遵循这篇支持文章中概述的指南。请确保:

  • 应用详情中包含高质量的置顶大图
  • 置顶大图不包含设备图片、屏幕截图或小文字,这些内容在缩小并显示在应用定位的最小屏幕尺寸上时会难以辨认
  • 置顶大图不应类似于广告
Play:NonAndroid T-Play:素材资源 应用屏幕截图和视频未展示或提及非 Android 设备。
Play:误导性 T-Play:素材资源 应用的屏幕截图或视频未以误导性方式展示应用的内容和体验。
用户支持
Play:Bug T-Play:政策 如果 Google Play 页面评价标签页中用户报告的常见 bug 可重现且在许多不同设备上都会发生,则这些 bug 会得到解决。如果某个 bug 仅在少数设备上出现,但这些设备特别受欢迎或属于新设备,您仍应解决该 bug。

测试环境

按以下方式设置测试环境:

  • 模拟器测试:Android 模拟器是一种可在不同 Android 版本和屏幕分辨率下测试应用的绝佳方式。设置模拟设备 (AVD),以代表目标用户群最常用的设备类型和硬件/软件组合。使用以下模拟器(至少)测试各种外形规格:

    • Foldables:7.6" fold-in with outer display(这列在 AVD 管理器中的“Phones”下)
    • Tablet: Pixel C 9.94" (2,560px x 1,800px)
    • 移动应用通知测试:将移动设备/模拟器与 Wear OS 模拟器(Wear OS Round 1.84")配对
  • 硬件设备:您的测试环境应包括少量实际硬件设备,并且这些设备能够代表消费者可用的主要设备类型和硬件/软件组合。您不需要测试市场上的每种设备。只需关注少量代表性的设备,甚至仅针对每种外形规格选用一两个设备即可。

  • 设备测试实验室:您也可以使用第三方服务(例如 Firebase Test Lab)在更多类型的设备上测试应用。

  • 使用最新的 Android 版本进行测试:除了针对目标用户群测试具有代表性的 Android 版本外,您还应始终针对最新版 Android 进行测试,以确保最新的行为变更不会对应用的用户体验产生负面影响。

如需有关测试(包括单元测试、集成测试和界面测试)的进一步指导,请参阅 Android 应用测试基础知识。

StrictMode

对于性能测试,请在应用中启用 StrictMode。使用 StrictMode 捕获可能会影响性能、网络访问以及文件读写的操作。在主线程和其他线程上查找可能存在问题的操作。

使用 StrictMode.ThreadPolicy.Builder 设置每个线程的监控政策,并使用 detectAll() 在 ThreadPolicy 中启用所有受支持的监控。

使用 penaltyFlashScreen() 为 ThreadPolicy 启用违规视觉通知。

测试

核心应用质量测试可帮助您评估应用的基本质量。您可以在测试计划中组合各项测试或综合运用多组测试。

用户体验

ID 功能 说明
易用性
T-Usability:Core 易用性:用户体验

浏览应用的所有部分,包括所有屏幕、对话框、设置和所有用户体验流程。

执行以下操作:
  • 如果应用允许运行修改或创建内容、播放游戏或媒体,请务必测试这些流程。
  • 在测试应用时,引入来自其他应用的中断(例如:接到通知或来电);然后对设备属性(例如:网络连接、电池功能、GPS 可用性和系统负载)应用临时更改。
  • 进入并测试所有应用内购买流程
T-Usability:Switcher Usability:Switcher 从每个应用界面切换到另一个正在运行的应用,然后使用最近应用切换器返回到受测应用。
T-Usability:Sleep 易用性:睡眠 按下电源按钮,让设备进入休眠状态,然后再次按下电源按钮唤醒屏幕。
T-Usability:Lock 易用性:锁定 在设备上设置屏幕锁定。按下电源按钮让设备进入休眠状态(锁定设备);然后,再次按下电源按钮以唤醒屏幕并解锁设备。
SD 卡
T-SD-Card 易用性:用户体验

在设备的 SD 卡上安装应用(如果应用支持此安装方法),然后执行核心功能测试。

如需将应用移至 SD 卡,请参阅应用设置。

界面
T-UI:转换 UI:Parity、
UI:Fullscreen、
UI:Transitions

在每个应用界面上,旋转设备使其在横屏和竖屏方向及折叠和展开状态之间切换至少三次。

验证应用是否执行以下操作:
  • 在所有显示方向和折叠状态下提供相同的功能
  • 在所有显示方向和折叠状态下均填满应用窗口,且不采用信箱模式
  • 在屏幕方向快速转换以及设备折叠和展开期间,应用能保持状态且不会出现呈现问题
画质
T-Visual:展示广告 视觉:展示 使用应用的所有功能。验证所有视觉元素(包括图形、文字、图片和其他界面元素)是否都没有失真、模糊或像素化现象。
T-Visual:Readability 视觉:可读性

检查应用中的所有文本块。验证文本和文本块行长是否限制在 45-75 个字符(包括空格)以内,以确保可读性。

验证以下内容:
  • 在所有受支持的设备规格中,组合都是可接受的
  • 没有被截断的字母或字词
  • 按钮或图标内没有不当的换行
  • 文本与周围元素之间有足够的间距
T-Visual:Themes Visual:Themes 验证所有文字在浅色主题和深色主题下均清晰可辨。验证所有视觉元素在浅色和深色主题下是否都清晰可辨且美观。
导航
T-Nav:Back Nav:BackButton、
Nav:BackGesture

浏览应用的所有部分,包括所有屏幕、对话框、设置和所有用户体验流程。

在每个应用界面中,按返回按钮或使用返回滑动手势。应用应转到上一个屏幕或主屏幕。

T-Nav:State Nav:State 在每个应用界面中,按设备的主屏幕键或在手势导航中向上滑动,然后从所有应用界面重新启动应用。
通知
T-Notify:Info Notify:Info、
Notify:Messaging
在通知抽屉式导航栏中触发并查看应用能够显示的所有通知类型。展开通知(如果适用,Android 4.1 及更高版本),然后点按所有可用的操作。
无障碍
T-Access:Targets Access:Targets 验证触摸目标是否能够针对所有屏幕尺寸和配置保持一致且易于触摸的尺寸和位置。如需了解有关无障碍方面的信息,请参阅无障碍功能扫描仪。
T-Access:Contrast Access:Contrast 验证所有视觉元素的对比度。
T-Access:Description Access:Description 验证除 TextView 之外的所有界面元素是否都有内容说明。

功能

ID 功能 说明
音频
T-Audio:Init Audio:Init 启动音频播放。验证应用是否会在 1 秒内开始播放音频,或提供视觉指示器来表明正在准备播放音频数据。
T-Audio:Focus 音频:焦点 启动音频播放。应用应请求音频焦点。当音频播放停止时,应用应放弃音频焦点(对于以 Android 12 [API 级别 31] 及更高版本为目标平台的应用,此操作会自动发生)。
T-Audio:Interrupt 音频:中断 启动音频播放。在其他应用中启动音频播放。您的应用应响应音频焦点的变化,并停止音频播放或降低播放音量。
T-Audio:Background Audio:Background 启动音频播放。与另一个非音频应用(作为前台应用)互动。应用应继续在后台播放音频。
T-Audio:Notification Audio:Notification 启动音频播放。与另一个非音频应用互动,将其作为前台应用。验证您的应用是否继续在后台播放音频,并创建了采用 MediaStyle 样式的通知。请参阅与媒体控件完美配合。
T-Audio:Resume Audio:Resume 启动音频播放。与另一个非音频应用互动,使其成为前台应用。与您的应用互动,使其成为顶层应用。音频应恢复播放或音量应恢复。否则,应用应向用户表明播放已暂停。
T-Video:PiP Video:PiP 启用应用在画中画模式下播放视频的功能。
T-Video:Encoding Video:Encoding 验证应用是否使用 HEVC 视频压缩标准对视频进行编码。
共享
T-Sharing:Sheet Sharing:Sheet 通过调用 startActivity()(以 intent 作为参数)来创建 intent 并启动 activity。请参阅使用 Android Sharesheet。应用应显示 Android Sharesheet。
后台服务
T-Background:Services Background:Services

使用应用的所有主要功能。验证没有启动长时间运行的后台服务。

切换到其他应用,将您的应用发送到后台。前往设置,检查您的应用是否有任何服务在后台运行。在 Android 4.0 及更高版本上,前往应用界面,然后在正在运行标签页中找到该应用。

性能和稳定性

ID 功能 说明
性能
T-Performance:Startup Performance:Startup 启动应用。验证应用是否能快速加载,或者在加载时间超过 2 秒时是否会提供进度指示器或类似提示。
T-Performance:FPS 性能:FPS 使用应用的所有主要功能。验证应用是否以至少每秒 60 帧的速度渲染。使用 HWUI 渲染模式分析选项可帮助测试您的应用。
T-Performance:Strict Performance:Strict

在应用中启用 StrictMode。使用所有主要功能。验证应用是否不会产生任何 StrictMode 性能警告;即在测试应用时不会看到红色闪烁。红色闪烁表示存储、网络访问或内存管理(例如内存泄漏)方面存在不良行为。

密切关注垃圾回收及其对用户体验的影响。

稳定性
T-Stability:ANR 稳定性:ANR 使用应用的所有主要功能。验证应用不会崩溃或阻塞界面线程,从而导致 ANR(应用无响应)错误。查看 Google Play 发布前测试报告,找出潜在的稳定性问题。
SDK
T-SDK:平台 SDK:平台 在最新公开版本的 Android 平台上运行您的应用。使用所有主要功能。验证应用不会崩溃,并且在运行时不会丢失任何核心功能。
T-SDK:最新 SDK:目标、
SDK:编译
查看 Android 清单文件和 build 配置,确保应用是针对最新可用 SDK(targetSdk 和 compileSdk)构建的。
T-SDK:3P SDK:第三方 查看应用的 build.gradle 文件,了解是否有任何过时的依赖项。
T-SDK:非 SDK:非 使用 Android Studio lint 工具检测非 SDK 接口使用情况。如需了解其他测试方法,请参阅针对非 SDK 接口的限制。
T-SDK:调试 SDK:调试 检查应用的 build.gradle 文件,看看是否包含任何调试库。
电池
T-Battery:Manage 电池:管理

在低电耗模式和应用待机模式下使用所有主要应用功能。验证闹钟、定时器、通知和同步功能在低电耗模式维护窗口以及应用退出应用待机模式时是否能正常运行。

使用 ADB 命令测试低电耗模式和应用待机模式行为(如需了解相关要求和指南,请参阅在低电耗模式和应用待机模式下进行测试)。

如需诊断非预期的电池耗电情况,请使用 Android Studio 耗电性能分析器或 Battery Historian 工具,然后结合计划的后台工作。

隐私权和安全

ID 功能 说明
权限
T-Permissions:Min 权限:最低 在清单文件、运行时和设备上的应用设置(设置 > 应用信息)中,查看应用所需的所有权限。
T-Permissions:Sensitive 权限:敏感 使用应用中请求权限的任何功能。验证应用是否仅针对核心应用使用情形请求获取访问敏感数据或服务的权限。验证是否已向用户清楚说明授予敏感数据和服务访问权限的影响。
T-Permissions:Runtime 权限:运行时 使用应用中需要权限的所有功能。验证权限是否以延迟方式请求,即仅在访问功能时请求,而不是在应用启动期间请求。
T-Permissions:Explain Permissions:Explain 使用应用中需要权限的所有功能。验证应用是否向用户说明了需要这些权限的原因。
T-Permissions:Degrade 权限:降级 使用应用中需要权限的所有功能。拒绝或撤消权限。验证应用是否提供了替代用例并继续正常运行。
数据和文件
T-Data:Sensitive Data:Sensitive 查看存储在内部存储空间中的所有数据。验证外部存储的数据不是敏感数据。
T-Data:Handling Data:Sensitive 查看如何处理从外部存储空间加载的数据。
T-Data:Log 数据:日志 使用应用的所有主要功能,同时监控设备日志。验证未记录任何私密用户信息。
T-Data:IDs 数据:ID 使用应用的所有主要功能。验证应用不会出于识别身份的目的而使用任何硬件 ID(例如 IMEI)。
身份
T-Identity:Hints Identity:Hints 使用所有需要用户输入的应用功能。验证应用是否会提供提示,以自动填充账号凭证和其他敏感信息等数据的输入字段。
T-Identity:CredMan Identity:CredMan 登录您的应用。验证该应用是否集成了 Android 版 Credential Manager,以提供统一支持通行密钥、联合身份和密码的登录体验。
T-Identity:Bio Identity:Bio 使用所有需要身份验证的应用功能。验证应用是否通过生物识别验证来保护财务交易或敏感信息(例如重要的用户文档)。
应用组件
T-Components:Export Components:Export 查看 Android 清单文件中为相应导出状态定义的所有应用组件。必须为所有组件明确设置 exported 属性。
T-Components:Permissions Components:Permissions 在清单文件、运行时和设备上的应用设置(设置 > 应用信息)中,查看应用所需的所有权限。
T-Components:Protection Components:Protection 查看 Android 清单文件中定义的所有 Content Provider。确保每个提供商都有适当的 protectionLevel。
网络
T-Network:Traffic Network:Traffic 声明停用明文流量的网络安全配置,然后测试应用。
T-Network:Config Network:Config 查看应用的网络安全配置。验证配置上的 lint 检查是否均未失败。
T-Network:Play Network:Play 验证安全提供程序是否在应用启动时针对 Google Play 服务进行初始化。
WebView
T-WebViews:Config WebViews:Config 查看应用的网络安全配置。验证配置上的 lint 检查是否均未失败。
T-WebViews:JavaScript WebView:JavaScript 对于每个 WebView,前往需要 JavaScript 的页面。
T-WebViews:Nav WebViews:Config、
WebViews:JavaScript
在每个 WebView 中,尝试前往并非由您的应用直接加载的网站和内容。
执行
T-Execution:Bundles Execution:Bundles 验证应用是否使用 Android App Bundle,并且不会从应用 APK 外部动态加载代码。
加密
T-Crypto:Algorithms Crypto:Algorithms 验证应用是否使用平台提供的强大加密算法和随机数生成器。此外,还要验证应用是否未实现自定义算法。

Google Play

ID 功能 说明
政策
T-Play:Policies Play:政策、
Play:成熟度、
Play:错误
登录 Google Play 管理中心,查看您的开发者资料、应用说明、屏幕截图、置顶大图、内容分级和用户反馈。
应用详情页面
T-Play:图形 Play:图形 下载置顶大图和屏幕截图,并将其缩小,以匹配目标设备和外形规格的显示尺寸。
T-Play:素材资源 Play:Graphics,
Play:NonAndroid,
Play:Misleading
检查应用或扩展文件下载内容中打包的所有图形资源、媒体、文本、代码库和其他内容。

归档

旧版核心应用质量指南: