嵌套类 |
---|
class | TestDevice.MicrodroidBuilder 用于创建 Microdroid TestDevice 的构建器。 |
公共方法 |
---|
boolean | clearErrorDialogs () 尝试关闭当前显示在设备 UI 上的任何错误对话框。 |
int | createUser (String name) 创建一个具有给定名称和默认标志 0 的用户。 |
int | createUser (String name, boolean guest, boolean ephemeral) 使用给定名称和提供的标志创建用户 |
int | createUserNoThrow (String name) 创建一个具有给定名称和默认标志 0 的用户。 |
void | disableKeyguard () 尝试禁用键盘锁。 |
boolean | doesFileExist (String deviceFilePath) 确定设备上的文件是否存在的辅助方法。 |
boolean | doesFileExist (String deviceFilePath, int userId) 确定给定用户设备上的文件是否存在的辅助方法。 |
File | dumpHeap (String process, String devicePath) 尝试从 system_server 转储堆。 |
| getActiveApexes () 获取有关设备上激活的 APEX 的信息。 |
| getAllSettings (String namespace) 返回请求的命名空间的键值对。 |
String | getAndroidId (int userId) 查找并返回与 userId 关联的 android-id,如果找不到则返回 null。 |
| getAndroidIds () 创建一个找到匹配用户 ID 的 Android ID 地图。 |
PackageInfo | getAppPackageInfo (String packageName) 获取有关安装在设备上的包的信息。 |
| getAppPackageInfos () 获取设备上安装的包的信息。 |
DeviceFoldableState | getCurrentFoldableState () 返回设备的当前可折叠状态,如果出现某些问题则返回 null。 |
int | getCurrentUser () 返回当前运行用户的 id。 |
| getFoldableStates () 返回设备上的可折叠状态列表。 |
| getInstalledPackageNames () 获取设备上存在的应用程序包名称。 |
KeyguardControllerState | getKeyguardState () 返回一个对象以获取键盘锁的当前状态,如果不支持则返回 null。 |
| getMainlineModuleInfo () 获取有关设备上安装的主线模块的信息。 |
int | getMaxNumberOfRunningUsersSupported () 获取支持的同时运行用户的最大数量。 |
int | getMaxNumberOfUsersSupported () 获取支持的最大用户数。 |
Process | getMicrodroidProcess () |
Integer | getPrimaryUserId () 返回主用户 ID。 |
InputStreamSource | getScreenshot () 从设备抓取屏幕截图。 |
InputStreamSource | getScreenshot (String format, boolean rescale) 从设备抓取屏幕截图。 |
InputStreamSource | getScreenshot (String format) 从设备抓取屏幕截图。 |
InputStreamSource | getScreenshot (long displayId) 从给定显示 ID 的设备抓取屏幕截图。 |
String | getSetting (String namespace, String key) 请参阅getSetting(int, String, String) 并在系统用户上执行。 |
String | getSetting (int userId, String namespace, String key) 返回请求设置的值。 |
| getUninstallablePackageNames () 获取可卸载的应用程序包名称。 |
int | getUserFlags (int userId) 查找并返回给定用户的标志。 |
| getUserInfos () 获取设备上useId到UserInfo 的Map。 |
int | getUserSerialNumber (int userId) 如果找到,则返回与 userId 关联的序列号,在任何其他情况下返回 -10000。 |
boolean | hasFeature (String feature) 检查某项功能是否在设备上可用。 |
String | installPackage (File packageFile, boolean reinstall, String... extraArgs) 在设备上安装 Android 包。 |
String | installPackage (File packageFile, File certFile, boolean reinstall, String... extraArgs) 在设备上安装 Android 包。 |
String | installPackage (File packageFile, boolean reinstall, boolean grantPermissions, String... extraArgs) 在设备上安装 Android 包。 |
String | installPackageForUser (File packageFile, boolean reinstall, boolean grantPermissions, int userId, String... extraArgs) 为给定用户在设备上安装 Android 包。 |
String | installPackageForUser (File packageFile, boolean reinstall, int userId, String... extraArgs) 为给定用户在设备上安装 Android 包。 |
String | installPackages ( packageFiles, boolean reinstall, String... extraArgs) installPackages ( packageFiles, boolean reinstall, String... extraArgs) |
String | installPackages ( packageFiles, boolean reinstall, boolean grantPermissions, String... extraArgs) installPackages ( packageFiles, boolean reinstall, boolean grantPermissions, String... extraArgs) |
String | installPackagesForUser ( packageFiles, boolean reinstall, boolean grantPermissions, int userId, String... extraArgs) installPackagesForUser ( packageFiles, boolean reinstall, boolean grantPermissions, int userId, String... extraArgs) |
String | installPackagesForUser ( packageFiles, boolean reinstall, int userId, String... extraArgs) installPackagesForUser ( packageFiles, boolean reinstall, int userId, String... extraArgs) |
String | installRemotePackages ( remoteApkPaths, boolean reinstall, boolean grantPermissions, String... extraArgs) installRemotePackages ( remoteApkPaths, boolean reinstall, boolean grantPermissions, String... extraArgs) |
String | installRemotePackages ( remoteApkPaths, boolean reinstall, String... extraArgs) installRemotePackages ( remoteApkPaths, boolean reinstall, String... extraArgs) |
boolean | isAppEnumerationSupported () 检查设备上的平台是否支持应用枚举 |
boolean | isMultiUserSupported () 确定是否支持多用户。 |
boolean | isPackageInstalled (String packageName) 在设备上查询给定的包名称以检查它当前是否已安装。 |
boolean | isPackageInstalled (String packageName, String userId) 查询设备以获取给定的包名称和给定的用户 ID,以检查当前是否为该用户安装了它。 |
boolean | isUserRunning (int userId) 检查给定用户是否正在运行。 |
boolean | isUserSecondary (int userId) 根据其标志返回指定用户是否为二级用户。 |
| listDisplayIds () 收集“dumpsys SurfaceFlinger”报告的设备上可用显示 ID 的列表。 |
| listUsers () 获取设备上的用户列表。 |
void | postInvocationTearDown (Throwable exception) 特定于设备的额外步骤需要清理,将在调用完成后执行。 |
boolean | removeAdmin (String componentName, int userId) 删除给定用户中的给定设备管理员,如果成功则返回true ,否则返回false 。 |
void | removeOwners () 尽最大努力删除所有现有的设备配置文件所有者。 |
boolean | removeUser (int userId) 从设备中删除给定的用户。 |
boolean | setDeviceOwner (String componentName, int userId) 将设备管理组件设置为给定用户的设备所有者。 |
void | setSetting (String namespace, String key, String value) 请参阅setSetting(int, String, String, String) 并在系统用户上执行。 |
void | setSetting (int userId, String namespace, String key, String value) 将设置值添加到给定用户的命名空间。 |
void | shutdownMicrodroid ( ITestDevice microdroidDevice) 关闭微型机器人设备(如果存在)。 |
boolean | startUser (int userId) 如果当前已停止,则在后台启动给定用户。 |
boolean | startUser (int userId, boolean waitFlag) 如果当前已停止,则在后台启动给定用户。 |
boolean | stopUser (int userId, boolean waitFlag, boolean forceFlag) 停止给定的用户。 |
boolean | stopUser (int userId) 停止给定的用户。 |
boolean | supportsMicrodroid () 检查运行微型机器人的先决条件。 |
boolean | supportsMicrodroid (boolean protectedVm) 检查运行微型机器人的先决条件。 |
boolean | switchUser (int userId) 切换到另一个具有默认超时的 userId。 |
boolean | switchUser (int userId, long timeout) 以提供的超时为截止日期切换到另一个 userId。 |
String | uninstallPackage (String packageName) 从设备卸载 Android 包。 |
String | uninstallPackageForUser (String packageName, int userId) 从给定用户的设备中卸载 Android 包。 |
字段
DISMISS_KEYGUARD_CMD
public static final String DISMISS_KEYGUARD_CMD
可用于关闭键盘锁的命令。
公共构造函数
公共方法
清除错误对话框
public boolean clearErrorDialogs ()
尝试关闭当前显示在设备 UI 上的任何错误对话框。
退货 |
---|
boolean | 如果不存在对话框或对话框已成功清除,则为true 。否则false 。 |
创建用户
public int createUser (String name)
创建一个具有给定名称和默认标志 0 的用户。
参数 |
---|
name | String : 要在设备上创建的用户 |
创建用户
public int createUser (String name,
boolean guest,
boolean ephemeral)
使用给定名称和提供的标志创建用户
参数 |
---|
name | String : 要在设备上创建的用户 |
guest | boolean :在创建期间启用用户标志 --guest |
ephemeral | boolean :在创建期间启用用户标志 --ephemeral |
createUserNoThrow
public int createUserNoThrow (String name)
创建一个具有给定名称和默认标志 0 的用户。
参数 |
---|
name | String : 要在设备上创建的用户 |
退货 |
---|
int | 创建的用户 ID 的整数或 -1 表示错误。 |
禁用键盘锁
public void disableKeyguard ()
尝试禁用键盘锁。
首先等待输入调度准备就绪,这发生在设备报告 BOOT_COMPLETE 的同时,显然是异步的,因为当前框架实现偶尔会出现竞争条件。然后发送命令以关闭键盘锁(仅适用于非安全键盘锁)
文件是否存在
public boolean doesFileExist (String deviceFilePath)
确定设备上的文件是否存在的辅助方法。
参数 |
---|
deviceFilePath | String : 要检查的设备上文件的绝对路径 |
退货 |
---|
boolean | 如果文件存在则为true ,否则为false 。 |
文件是否存在
public boolean doesFileExist (String deviceFilePath,
int userId)
确定给定用户设备上的文件是否存在的辅助方法。
参数 |
---|
deviceFilePath | String : 要检查的设备上文件的绝对路径 |
userId | int :用于检查文件是否存在的用户 ID |
退货 |
---|
boolean | 如果文件存在则为true ,否则为false 。 |
转储堆
public File dumpHeap (String process,
String devicePath)
尝试从 system_server 转储堆。清理转储文件是调用者的责任。
参数 |
---|
process | String :要转储到的设备进程的名称。 |
devicePath | String :设备上放置转储的路径。这必须是权限允许的位置。 |
获取活动顶点
public getActiveApexes ()
获取有关设备上激活的 APEX 的信息。
获取所有设置
public getAllSettings (String namespace)
返回请求的命名空间的键值对。
参数 |
---|
namespace | String :必须是 {"system", "secure", "global"} 之一 |
获取AndroidId
public String getAndroidId (int userId)
查找并返回与 userId 关联的 android-id,如果找不到则返回 null。
获取AndroidIds
public getAndroidIds ()
创建一个找到匹配用户 ID 的 Android ID 地图。无法保证每个用户 ID 都会找到一个与此函数关联的 Android ID,因此某些用户 ID 可能匹配 null。
退货 |
---|
| android id 映射找到匹配的用户 id。 |
获取应用程序包信息
public PackageInfo getAppPackageInfo (String packageName)
获取有关安装在设备上的包的信息。
获取应用程序包信息
public getAppPackageInfos ()
获取设备上安装的包的信息。
获取当前用户
public int getCurrentUser ()
返回当前运行用户的 id。如果出错,返回 -10000。
获取可折叠状态
public getFoldableStates ()
返回设备上的可折叠状态列表。可以通过“cmd device_state print-states”获得。
getInstalledPackageNames
public getInstalledPackageNames ()
获取设备上存在的应用程序包名称。
获取主线模块信息
public getMainlineModuleInfo ()
获取有关设备上安装的主线模块的信息。
public int getMaxNumberOfRunningUsersSupported ()
获取支持的同时运行用户的最大数量。默认为 0。
public int getMaxNumberOfUsersSupported ()
获取支持的最大用户数。默认为 0。
getMicrodroid进程
public Process getMicrodroidProcess ()
退货 |
---|
Process | 返回 Microdroid VM 的进程。如果 TestDevice 不是 Microdroid,则返回 null。 |
获取PrimaryUserId
public Integer getPrimaryUserId ()
返回主用户 ID。
退货 |
---|
Integer | 如果有主用户,则为主用户的 userId;如果没有主用户,则为 null。 |
截屏
public InputStreamSource getScreenshot (String format,
boolean rescale)
从设备抓取屏幕截图。建议使用getScreenshot(String)
而不是 JPEG 编码以获得更小的尺寸。
参数 |
---|
format | String :支持的 PNG、JPEG |
rescale | boolean :是否应重新缩放屏幕截图以减小生成图像的大小 |
截屏
public InputStreamSource getScreenshot (String format)
从设备抓取屏幕截图。建议使用 getScreenshot(format) 而不是 JPEG 编码以获得更小的尺寸
参数 |
---|
format | String :支持的 PNG、JPEG |
截屏
public InputStreamSource getScreenshot (long displayId)
从给定显示 ID 的设备抓取屏幕截图。格式为 PNG。
TODO:扩展上面的实现以支持'format'和'rescale'
参数 |
---|
displayId | long :要从中获取屏幕截图的屏幕的显示 ID。 |
获取设置
public String getSetting (int userId,
String namespace,
String key)
返回请求设置的值。命名空间必须是以下之一:{"system", "secure", "global"}
参数 |
---|
userId | int |
namespace | String |
key | String |
退货 |
---|
String | 与名称空间关联的值:用户的键。如果找不到则为空。 |
getUninstallablePackageNames
public getUninstallablePackageNames ()
获取可卸载的应用程序包名称。这目前被定义为非系统包和更新的系统包。
获取用户标志
public int getUserFlags (int userId)
查找并返回给定用户的标志。标志在 Android 开源项目的“android.content.pm.UserInfo”类中定义。
退货 |
---|
int | 如果找到,与提供的 userId 关联的标志,在任何其他情况下为 -10000。 |
获取用户序列号
public int getUserSerialNumber (int userId)
如果找到,则返回与 userId 关联的序列号,在任何其他情况下返回 -10000。
有特征
public boolean hasFeature (String feature)
检查某项功能是否在设备上可用。
参数 |
---|
feature | String : 哪种格式应该是 "feature: “ 或者 ” “ 直接地。 |
安装包
public String installPackage (File packageFile,
boolean reinstall,
String... extraArgs)
在设备上安装 Android 包。
参数 |
---|
packageFile | File :要安装的apk文件 |
reinstall | boolean : true 如果应该执行重新安装 |
extraArgs | String :要传递的可选额外参数。有关可用选项,请参阅“adb shell pm -h”。 |
退货 |
---|
String | 带有错误代码的String ,如果成功则为null 。 |
安装包
public String installPackage (File packageFile,
File certFile,
boolean reinstall,
String... extraArgs)
在设备上安装 Android 包。
注意:只有在安装时需要明确控制授予运行时权限的用例才应调用此函数。
参数 |
---|
packageFile | File :要安装的apk文件 |
certFile | File :如果应执行重新安装,则为true |
reinstall | boolean :是否应在安装时授予所有运行时权限 |
extraArgs | String :要传递的可选额外参数。有关可用选项,请参阅“adb shell pm -h”。 |
退货 |
---|
String | 带有错误代码的String ,如果成功则为null 。 |
安装包
public String installPackage (File packageFile,
boolean reinstall,
boolean grantPermissions,
String... extraArgs)
在设备上安装 Android 包。
注意:只有在安装时需要明确控制授予运行时权限的用例才应调用此函数。
参数 |
---|
packageFile | File :要安装的apk文件 |
reinstall | boolean : true 如果应该执行重新安装 |
grantPermissions | boolean :是否应在安装时授予所有运行时权限 |
extraArgs | String :要传递的可选额外参数。有关可用选项,请参阅“adb shell pm -h”。 |
退货 |
---|
String | 带有错误代码的String ,如果成功则为null 。 |
installPackageForUser
public String installPackageForUser (File packageFile,
boolean reinstall,
boolean grantPermissions,
int userId,
String... extraArgs)
为给定用户在设备上安装 Android 包。
注意:只有在安装时需要明确控制授予运行时权限的用例才应调用此函数。
参数 |
---|
packageFile | File :要安装的apk文件 |
reinstall | boolean : true 如果应该执行重新安装 |
grantPermissions | boolean :是否应在安装时授予所有运行时权限 |
userId | int :要为其安装的整数用户 ID。 |
extraArgs | String :要传递的可选额外参数。有关可用选项,请参阅“adb shell pm -h”。 |
退货 |
---|
String | 带有错误代码的String ,如果成功则为null 。 |
installPackageForUser
public String installPackageForUser (File packageFile,
boolean reinstall,
int userId,
String... extraArgs)
为给定用户在设备上安装 Android 包。
参数 |
---|
packageFile | File :要安装的apk文件 |
reinstall | boolean : true 如果应该执行重新安装 |
userId | int :要为其安装的整数用户 ID。 |
extraArgs | String :要传递的可选额外参数。有关可用选项,请参阅“adb shell pm -h”。 |
退货 |
---|
String | 带有错误代码的String ,如果成功则为null 。 |
安装包
public String installPackages ( packageFiles,
boolean reinstall,
String... extraArgs)
参数 |
---|
packageFiles | |
reinstall | boolean |
extraArgs | String |
安装包
public String installPackages ( packageFiles,
boolean reinstall,
boolean grantPermissions,
String... extraArgs)
参数 |
---|
packageFiles | |
reinstall | boolean |
grantPermissions | boolean |
extraArgs | String |
installPackagesForUser
public String installPackagesForUser ( packageFiles,
boolean reinstall,
boolean grantPermissions,
int userId,
String... extraArgs)
参数 |
---|
packageFiles | |
reinstall | boolean |
grantPermissions | boolean |
userId | int |
extraArgs | String |
installPackagesForUser
public String installPackagesForUser ( packageFiles,
boolean reinstall,
int userId,
String... extraArgs)
参数 |
---|
packageFiles | |
reinstall | boolean |
userId | int |
extraArgs | String |
安装远程包
public String installRemotePackages ( remoteApkPaths,
boolean reinstall,
boolean grantPermissions,
String... extraArgs)
参数 |
---|
remoteApkPaths | |
reinstall | boolean |
grantPermissions | boolean |
extraArgs | String |
安装远程包
public String installRemotePackages ( remoteApkPaths,
boolean reinstall,
String... extraArgs)
参数 |
---|
remoteApkPaths | |
reinstall | boolean |
extraArgs | String |
isAppEnumerationSupported
public boolean isAppEnumerationSupported ()
检查设备上的平台是否支持应用枚举
退货 |
---|
boolean | 如果支持应用程序枚举,则为 True,否则为 false |
isMultiUserSupported
public boolean isMultiUserSupported ()
确定是否支持多用户。
退货 |
---|
boolean | 如果支持多用户,则为 true,否则为 false |
isPackageInstalled
public boolean isPackageInstalled (String packageName)
在设备上查询给定的包名称以检查它当前是否已安装。
退货 |
---|
boolean | 如果包被报告为已安装则为真。否则为假。 |
isPackageInstalled
public boolean isPackageInstalled (String packageName,
String userId)
查询设备以获取给定的包名称和给定的用户 ID,以检查当前是否为该用户安装了它。
参数 |
---|
packageName | String :我们正在检查是否已安装的包。 |
userId | String :我们正在检查安装包的用户 ID。如果为空,将使用主用户零。 |
退货 |
---|
boolean | 如果包被报告为已安装则为真。否则为假。 |
isUserRunning
public boolean isUserRunning (int userId)
检查给定用户是否正在运行。
退货 |
---|
boolean | 如果用户正在运行则为真,其他情况下为假。 |
isUserSecondary
public boolean isUserSecondary (int userId)
根据其标志返回指定用户是否为二级用户。
退货 |
---|
boolean | 如果用户是次要用户,则为 true,否则为 false。 |
listDisplayIds
public listDisplayIds ()
收集“dumpsys SurfaceFlinger”报告的设备上可用显示 ID 的列表。
postInvocationTearDown
public void postInvocationTearDown (Throwable exception)
特定于设备的额外步骤需要清理,将在调用完成后执行。
参数 |
---|
exception | Throwable :如果有的话,调用失败引发的最终异常。 |
删除管理员
public boolean removeAdmin (String componentName,
int userId)
删除给定用户中的给定设备管理员,如果成功则返回true
,否则返回false
。
参数 |
---|
componentName | String :要删除的设备管理员。 |
userId | int :设备管理员所在的用户。 |
删除所有者
public void removeOwners ()
尽最大努力删除所有现有的设备配置文件所有者。
删除用户
public boolean removeUser (int userId)
从设备中删除给定的用户。
退货 |
---|
boolean | 如果我们成功删除了用户,则为 true,否则为 false。 |
设置设备所有者
public boolean setDeviceOwner (String componentName,
int userId)
将设备管理组件设置为给定用户的设备所有者。
参数 |
---|
componentName | String :设备管理员的设备所有者。 |
userId | int :设备所有者所在的用户。 |
设定设定
public void setSetting (int userId,
String namespace,
String key,
String value)
将设置值添加到给定用户的命名空间。某些设置仅在重新启动后可用。命名空间必须是以下之一:{"system", "secure", "global"}
参数 |
---|
userId | int |
namespace | String |
key | String |
value | String |
关机微软
public void shutdownMicrodroid (ITestDevice microdroidDevice)
关闭微型机器人设备(如果存在)。
参数 |
---|
microdroidDevice | ITestDevice |
启动用户
public boolean startUser (int userId)
如果当前已停止,则在后台启动给定用户。如果用户已经在后台运行,则此方法是 NOOP。
退货 |
---|
boolean | 如果用户在后台成功启动,则为真。 |
启动用户
public boolean startUser (int userId,
boolean waitFlag)
如果当前已停止,则在后台启动给定用户。如果用户已经在后台运行,则此方法是 NOOP。可以提供额外的标志以等待操作生效。
参数 |
---|
userId | int : 在后台启动的用户 |
waitFlag | boolean :将使命令等待,直到用户启动并解锁。 |
退货 |
---|
boolean | 如果用户在后台成功启动,则为真。 |
停止用户
public boolean stopUser (int userId,
boolean waitFlag,
boolean forceFlag)
停止给定的用户。可以提供额外的标志以等待操作生效,并强制终止用户。无法停止当前和系统用户。
参数 |
---|
userId | int :要停止的用户。 |
waitFlag | boolean :将使命令等待,直到用户停止。 |
forceFlag | boolean :将强制停止用户。 |
停止用户
public boolean stopUser (int userId)
停止给定的用户。如果用户已经停止,则此方法是 NOOP。无法停止当前和系统用户。
支持Microdroid
public boolean supportsMicrodroid ()
检查运行微型机器人的先决条件。
退货 |
---|
boolean | 如果满足前提条件则返回 true,否则返回 false。 |
支持Microdroid
public boolean supportsMicrodroid (boolean protectedVm)
检查运行微型机器人的先决条件。
参数 |
---|
protectedVm | boolean :如果 microdroid 打算在受保护的 VM 上运行,则为 true。 |
退货 |
---|
boolean | 如果满足前提条件则返回 true,否则返回 false。 |
切换用户
public boolean switchUser (int userId)
切换到另一个具有默认超时的 userId。 switchUser(int, long)
。
退货 |
---|
boolean | 如果新的 userId 与 userId 提供程序匹配,则为真。否则为假。 |
切换用户
public boolean switchUser (int userId,
long timeout)
以提供的超时为截止日期切换到另一个 userId。用户更改成功后尝试禁用键盘锁。
参数 |
---|
userId | int |
timeout | long :在为 switch-user 失败返回 false 之前等待。 |
退货 |
---|
boolean | 如果新的 userId 与 userId 提供程序匹配,则为真。否则为假。 |
卸载包
public String uninstallPackage (String packageName)
从设备卸载 Android 包。
参数 |
---|
packageName | String : 要卸载的 Android 包 |
退货 |
---|
String | 带有错误代码的String ,如果成功则为null 。 |
uninstallPackageForUser
public String uninstallPackageForUser (String packageName,
int userId)
从给定用户的设备中卸载 Android 包。
参数 |
---|
packageName | String : 要卸载的 Android 包 |
userId | int :要为其卸载的整数用户 ID。 |
退货 |
---|
String | 带有错误代码的String ,如果成功则为null 。 |
受保护的方法
创建解析器
protected AaptParser createParser (File appFile)
doAdbReboot
protected void doAdbReboot (NativeDevice.RebootMode rebootMode,
String reason)
执行 adb 重启。
参数 |
---|
rebootMode | NativeDevice.RebootMode :此重启的一种模式。 |
reason | String :用于此次重启。 |
getCheckNewUserSleep
protected long getCheckNewUserSleep ()
暴露测试。
获取主机当前时间
protected long getHostCurrentTime ()
暴露测试
启动后设置
protected void prePostBootSetup ()
允许每种设备类型(AndroidNativeDevice、TestDevice)为特定的启动后设置覆盖此方法。
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2023-01-10。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]