【GTS_All version】GTS测试失败网络确认

[DESCRIPTION]
GTS测试是云测试测试之前要检查网络,两个基础指标要确认:
1、测试机所连接网络可正常访问google官网;
2、测试机连接网络后可以正常播放youtube官网视频;

测试过程中如有遇到如下现象:
1、测试周期拉长,比如32位项目GTS测试完正常时间一般6-8小时;有时超过这个时间仍然没有生成一次full run的结果;
2、一些视频相关的case失败;

继续阅读“【GTS_All version】GTS测试失败网络确认”

[8.1R7] [CTSV] USB Audio Peripheral Attributes Test

[DESCRIPTION]
 Google 从[8.1R7] 开始需要用新的设备测试USB Audio Peripheral Attributes Test

其中三条用到的设备如下:具体测试步骤请参考:

https://source.android.com/compatibility/cts/usb-audio

继续阅读“[8.1R7] [CTSV] USB Audio Peripheral Attributes Test”

[CTS_8.1] android.server.cts.KeyguardLockedTests#testDismissKeyguardActivity_method fail

[DESCRIPTION]
android.server.cts.KeyguardLockedTests#testDismissKeyguardActivity_method fail
 junit.framework.AssertionFailedError: Not in logcat: onDismissSucceeded
at junit.framework.Assert.fail(Assert.java:57)
at junit.framework.TestCase.fail(TestCase.java:227)
at android.server.cts.KeyguardTestBase.assertInLogcat(KeyguardTestBase.java:70)
at android.server.cts.KeyguardTestBase.assertOnDismissSucceededInLogcat(KeyguardTestBase.java:41)
at android.server.cts.KeyguardLockedTests.testDismissKeyguardActivity_method(KeyguardLockedTests.java:119)

继续阅读“[CTS_8.1] android.server.cts.KeyguardLockedTests#testDismissKeyguardActivity_method fail”

windows环境下repo下载Android源代码

官方推荐Android源码的下载方式是Linux系统上是通过Repo来完成的。Win环境下Repo的使用又依赖Git、Python。源码的下载又涉及到伟大的长城防火墙。所以这篇文章的核心有三个:安装Repo依赖环境、让Repo在Win上面跑起来、使用国内源避开墙。

如果是使用Win10上面用Linux子系统下载,可以参考微软官方的教程(不过依然还是会出问题)。如果直接在Win环境下面,可以参考本教程。

以下是Win下面下载Aosp源代码的步奏。

继续阅读“windows环境下repo下载Android源代码”

repo下载Android源码时报 python windowserror 5

WindowsError: [Error 5]

repo sync之后,突然停在了这个地方

看到这个报错我就有点尴尬了。因为这个repo的脚本是由大神改的。完全不懂脚本啊。
修改后的脚本:

继续阅读“repo下载Android源码时报 python windowserror 5”

windows下repo sync error: cannot initialize work tree

1. 问题描述

下载Android源代码时,出现这个错误

 


2. 问题分析

2.1 查看哪里出了问题

从log来看,.repo/repo/project.py是要关注的地方,可以定位到脚本:
raise GitError(“cannot initialize work tree”)
其所在的函数为_InitWorkTree

_InitWorkTree完整的代码如下:

继续阅读“windows下repo sync error: cannot initialize work tree”

Android P(9.0) userdebug版本执行adb remount失败

[DESCRIPTION]
     在android P版本上如果按照“FAQ18076 android 6.0 M userdebug版本执行adb remount失败”的做法在userdebug版本上执行adb remount会提示以下错误:
remount of the / superblock failed: Permission denied
remount failed
     原因是android P版本后google启用avb(Android Verified Boot)2.0,verified boot and DM-verity默认启用策略发生了变化。详情如下:
DM-Verity behavior changes from vboot1.0 to avb2.0.
On vboot1.0, dm-verity is turned off on eng build and is enabled on userdebug/user build.
DM-verity could be disabled with adb (not fastboot) on userdebug build without unlocking device first.
DM-Verity could not be disabled on user build.
On avb2.0, dm-verity behavior are the same on all build variants.
It’s turned on by default and could only be disabled after device is unlocked.
dm-verity disable flag is moved from system image dm-verity metadata(vboot1.0) to vbmeta image(avb2.0), and you have two ways to disable it: adb and fastboot.
  

继续阅读“Android P(9.0) userdebug版本执行adb remount失败”

【CTS_All version】android.net.cts.legacy.api22.ConnectivityManagerLegacyTest#testStartUsingNetworkFeature_enableHipri

[DESCRIPTION]

android.net.cts.legacy.api22.ConnectivityManagerLegacyTest
— testStartUsingNetworkFeature_enableHipri
fail
junit.framework.AssertionFailedError: Did not receive expected CONNECTED broadcast for type 5 after 30000 ms at junit.framework.Assert.fail(Assert.java:50)

继续阅读“【CTS_All version】android.net.cts.legacy.api22.ConnectivityManagerLegacyTest#testStartUsingNetworkFeature_enableHipri”

[cts9.0r1]CtsGraphicsTestCases 包四条case fail

[DESCRIPTION]
CtsGraphicsTestCases
android.graphics.cts.BitmapRegionDecoderTest#testDecodeRegionByteArray
android.graphics.cts.BitmapRegionDecoderTest#testDecodeRegionInputStream
android.graphics.cts.BitmapRegionDecoderTest#testDecodeRegionInputStreamInBitmap
android.graphics.cts.BitmapRegionDecoderTest#testDecodeRegionStringAndFileDescriptor

fail log如下
android.graphics.cts.BitmapRegionDecoderTest#testDecodeRegionByteArray fail java.lang.AssertionError: MSE too large for normal case: 3.0239105224609375
android.graphics.cts.BitmapRegionDecoderTest#testDecodeRegionInputStream fail java.lang.AssertionError: MSE too large for normal case: 3.0239105224609375
android.graphics.cts.BitmapRegionDecoderTest#testDecodeRegionInputStreamInBitmap fail java.lang.AssertionError: MSE too large for normal case: 3.0239105224609375
android.graphics.cts.BitmapRegionDecoderTest#testDecodeRegionStringAndFileDescriptor fail java.lang.AssertionError: MSE too large for normal case: 3.18511962890625

[SOLUTION]

patchID: ALPS04111863
申请此patch即可!

2018 Google 开发者大会直播入口!

转发晚了一天,不过还有一天你可以观看直播;在B站和优酷会有回放

科技很酷,未来很近。一年一度的谷歌开发者大会,明天就要和大家见面啦!
北京时间9月20日上午9点20分,谷歌大中华区总裁 Scott Beaumont、谷歌产品总监 Andrew Bowers 以及众多来自全球各地的谷歌工程师将在现场与大家直面交流,与中国的开发者们分享重磅消息和最新科技。
为期两天的2018谷歌开发者大会,直播主题将涵盖机器学习、ARCore、Android、移动网络、Firebase、Assistant、物联网、Flutter等等。

2017精彩回顾

无法亲临现场的你,同样不会错过这些前沿科技和技术干货。谷歌联合十余家直播平台,全程直播为期两天的主题演讲及部分技术演讲。直播地址敬请关注大会官网(也可点击“阅读原文”直达):https://www.google.cn/intl/zh-CN/events/developerdays2018/livestream

排名不分先后
想要获得更多最新剧透和现场盛况,敬请关注:
● 2018谷歌开发者大会官网
https://www.google.cn/events/developerdays2018/
● 谷歌官方社交媒体:

   ■ 微信公众号 “谷歌黑板报” 、“谷歌开发者”

   ■ 微博  @Google黑板报、@Google开发者

   ■ 知乎 “ 谷歌开发者”

Google Android Partnership Boot Camp -Shenzhen- Sep 2018 深圳研讨会

相关主题如下:

Android P CTS Hightlight, CTS Instant, Waiver Process

CTS and GTS Best Practice

Android P GMS Req.

Treble Compliance/VTS

Secutiry

OTA

Android Go

Camera Image Test Suite (ITS)

Branding Approval

How to get Android tech help

继续阅读“Google Android Partnership Boot Camp -Shenzhen- Sep 2018 深圳研讨会”

GMS认证之CtsVerifier测试-清妮

1.准备工作:

将GMS-5.1文件夹中的android-cts-verifier-5.1_r6-linux_x86-arm.zip压缩文件解压,找到android-cts-verifier文件夹,ctrl+alt+t打开终端,输入命令adb install CtsVerifier.apk安装ctsverifier.apk到手机上。

CAMERA:

包含Camera FOV Calibration、Camera Formats、CameraITS Test、Camera Intent、Camera Orientation、Camera Video,其中Camera FOV Calibration、Camera Formats、Camera Video包含很多项测试,每个像素点的测试,因此要完全测试完毕,并保证查看左右两边的图片或者视频一致才能通过。

CAR:

Car Dock Test:点ENABLE CAR MODEàCTS verifier—>Home键即可完成测试;

继续阅读“GMS认证之CtsVerifier测试-清妮”

GMS认证中常见的fail项及解决方法-清妮

##########################################################

cts测试的一些命令:

##########################################################

cts测试前需要注意的事项:

继续阅读“GMS认证中常见的fail项及解决方法-清妮”

GMS认证(常见的cts—fail及解决方法)-清妮

 

GMS认证

 一、lunch桌面的google应用排序要求:

Google apps folder should contain applications in the following order from left to right; top to bottom.

Google Chrome, Gmail, Google+, Google Maps, Google Play Music, Google Play Movies, Google Play Books, Google Play Newsstand, Google Play Games, Google Drive, YouTube, Google Plus Photos, Hangouts

二、 测试命令

继续阅读“GMS认证(常见的cts—fail及解决方法)-清妮”

Android O版本的文件media_profiles.xml解析

考虑到Android O的media_profiles.xml/media_profiles_stereocam.xml(双摄项目)变化较大,后续可能会有较多疑问,做如下介绍:
<CamcorderProfiles cameraId=”0″>
==>
0是后摄
1是前摄
2是双后摄中的副摄像头
3是双前摄中的副摄像头,
如果需要添加cameraId,直接copy整个cameraID目录下的item并按需要修改特定的item即可
<EncoderProfile quality=”low” fileFormat=”3gp” duration=”30″>==>
在Android O中,如果要添加新的item,quality的值一定要在/frameworks/av/media/libmedia/MediaProfiles.cpp的const MediaProfiles::NameToTagMap MediaProfiles::sCamcorderQualityNameMap[]中能够找到,而且不能自行在此map表中添加,否则会VTS 测试fail。

继续阅读“Android O版本的文件media_profiles.xml解析”

GMS September release details

We have released GMS updates for Android 9, 8.1 and 8.0.

In this release, we:

  • Updated the GoogleRestore app for Android 9 to fix an issue that caused the device to consume more power unnecessarily.
  • Updated the Setup Wizard for Android 9 to support a setup flow specifically for devices having a dedicated hardware Assistant button.
  • Updated the Setup Wizard for Android 8.1 to disable the feature that automatically adds a number into the contacts of users in India. Please see the public article by The Verge describing the issue.
  • Updated some GMS build makefiles for Android 9. As a result, the stub WebView app will be preloaded as ‘WebViewStub’ instead of ‘WebViewGoogle’ when Chrome is preloaded and acts as the WebView provider.
  • Updated GoogleDialer app to version 23, which does not rely on native libraries. The Android.mk file for GoogleDialer has been updated accordingly.
  • Updated the privapp-permissions-google.xml file to reflect the privileged permission android.permission.PACKAGE_USAGE_STATS that was added to the Google app in version 8.15.15.21.

Find the updated apps in each release of the Google Product Geo-Availability on Android v2 spreadsheet tabs below:

Android 9 Pie 兼容性常见问题及注意事项

应用不兼容的常见原因

使用了系统的 ClassLoader 加载 org.apache.http.* 的库

Android M 就已经开始移除对 Apache HTTP client 的支持。而 Android P 的系统 ClassLoader 已经不支持加载 org.apache.http.*包 (抛出 NoClassDefFoundError),应用必须用自定义的 ClassLoader 来加载,同时确保 org.apache.http.* 的路径包含在应用 classpath 上。

应用不应该再使用 org.apache.http.legacy 库,如果实在必须,可以将它打包进自己的 APK,同时改名以防止与运行时的版本冲突。

继续阅读“Android 9 Pie 兼容性常见问题及注意事项”

CtsShortcutManagerTestCases#android.content.pm.cts.shortcutmanager.ShortcutManagerFakingPublisherTest Bug: 109824443

[DESCRIPTION]
  Test: cts-tradefed run cts -m CtsShortcutManagerTestCases -t android.content.pm.cts.shortcutmanager.ShortcutManagerFakingPublisherTest
Bug: 109824443

继续阅读“CtsShortcutManagerTestCases#android.content.pm.cts.shortcutmanager.ShortcutManagerFakingPublisherTest Bug: 109824443”

android.security.cts.StagefrightTest#testStagefright_bug_65398821

[DESCRIPTION]
 CtsSecurityTestCases
android.security.cts.StagefrightTest#testStagefright_bug_65398821
【fail reason】:
Test failed to run to completion. Reason: ‘Instrumentation run failed due to ‘Process crashed.”. Check device logcat for details

继续阅读“android.security.cts.StagefrightTest#testStagefright_bug_65398821”

配置 GMS 客户端 ID

在设置过程中,系统会根据编译时填充的系统属性值 (ro.com.google.clientidbase) 来设置客户端 ID 值。客户端 ID 值将存储在内容提供程序中,以供所有 Google 应用访问。系统属性上的 ro 前缀表示该属性为只读属性,且无法修改(在设备上运行时)。

重要提示:必须先设置设备上的客户端 ID 才能触发 BOOT_COMPLETED 广播,并且在下次恢复设备的出厂设置之前,此 ID 必须一直保持不变。客户端 ID 值的变化只能应用到新设备。

继续阅读“配置 GMS 客户端 ID”

GTS Business Logic authentication 业务逻辑影响 GtsPlacementTestCases fail

GTS Business Logic authentication

Google enforces GTS Business Logic (BL) authentication. GTS will fail if the testing environment is not configured correctly. To configure the testing environment, you need to obtain a key file from your TAM. If you are a 3PL partner, please contact your 3PL directly.

Google强制执行GTS业务逻辑(BL)身份验证。 如果未正确配置测试环境,GTS将失败。 要配置测试环境,您需要从TAM获取密钥文件。 如果您是第三方物流合作伙伴,请直接联系您的3PL。

BL authentication affects the tests below. More tests will require BL authentication in the future.

  • com.google.android.placement.gts.DefaultIntentTest#testDefaultIntentHandlers
  • com.google.android.placement.gts.HomescreenLayoutTest#testShortcutPlacement
  • com.google.android.placement.gts.HomescreenLayoutTest#testFolderPlacement
  • com.google.android.placement.gts.HomescreenLayoutTest#testWidgetPlacement
  • com.google.android.placement.gts.InstalledAppsTest#testAppsInstalled
  • com.google.android.placement.gts.InstalledAppsTest#testSystemAppsInstalled

Troubleshooting GMS BL authentication

继续阅读“GTS Business Logic authentication 业务逻辑影响 GtsPlacementTestCases fail”

GMS Express Plus & Go Requirement – 10/2018

GMS EXpress Plus & Go Requirement – 10/2018 (GMS Express and Express Plus are not available in Russia)

From 1st of October 2018, Files (earlier Files Go) will become an exclusive requirement for the regular GMS Express Plus program. It is already an exclusive requirement for GMS Express Plus for Go. Please take note and plan accordingly.

继续阅读“GMS Express Plus & Go Requirement – 10/2018”

【8.1R7】GtsPlacementTestCases 下6条CaseFail

[DESCRIPTION]
GtsPlacementTestCases 下6条CaseFail
com.google.android.placement.gts.DefaultIntentTest#testDefaultIntentHandlers
com.google.android.placement.gts.HomescreenLayoutTest#testFolderPlacement
com.google.android.placement.gts.HomescreenLayoutTest#testShortcutPlacement
com.google.android.placement.gts.HomescreenLayoutTest#testWidgetPlacement
com.google.android.placement.gts.InstalledAppsTest#testAppsInstalled
com.google.android.placement.gts.InstalledAppsTest#testSystemAppsInstalled

第一种报错信息:
java.lang.AssertionError: Unable to execute because authorization failed, please ensure the service account key is properly installed..

继续阅读“【8.1R7】GtsPlacementTestCases 下6条CaseFail”

Updated headset information for USB Audio CTS Tests 音频测试

Headset information for USB Audio CTS Tests on source.android.com has been updated with headsets approved and known to be compatible with associated CTS tests. Due to the short notice of peripheral update, CTS Verifier 8.0 R11 and CTS Verifier 8.1 R7 releases will not be enforced. However, we encourage the use of CTS Verifier 8.0 R11 and 8.1 R7 releases, if partners are already using the newly listed compatible headsets. Partners should update audio peripherals soon according toUSB Audio CTS Tests, as they will be necessary when running CTS Verifier 8.0 R12 and 8.1 R8 releases.

继续阅读“Updated headset information for USB Audio CTS Tests 音频测试”

Test suites and GMS releases required-use date

Test suites and GMS releases required-use date

This month we have updated releases for the test suites listed below, as well as the GMS package itself.

These versions will be required for GMS approvals as described in the table below:

Release

Release version

Required-use date

CTS

8.1 R8, 8.0 R12, 7.1 R20, 7.0 R24, 6.0 R31

2018-9-20

VTS

8.1_r5, 8.0_r8 w Sept SPLs

2018-9-20

GMS

8.1_201808, 8.0_201808

2018-10-16

CTS August releases are available

CTS August releases are available

The Android Compatibility Test Suite (CTS) August releases for Android 8.1, 8.0, 7.1, 7.0 and 6.0 are available on the CTS Downloads page of source.android.com. These releases contain continuous improvements of tests and test infrastructure and verify security patches up to July 2018 Public Security Bulletin.

Details are available in the following change lists:

继续阅读“CTS August releases are available”

针对CTS,GTS测试过程中,在profile_provisioning流程分析与常见解决方案

[DESCRIPTION]

由于目前所有的手机都要求支持Android for work, 客户在测试CTS,GTS过程中,经常在profile_provisioning的过程中出错,这边对经常出错的地方进行分析,并提供对应的解决方案

[SOLUTION]

继续阅读“针对CTS,GTS测试过程中,在profile_provisioning流程分析与常见解决方案”

广升ADUPS FOTA 过认证信息更新

– ADUPS has recently released a patched version for com.adups.fota (version 5.22), that must be used for all new builds submitted to Google

– Google will continue rejecting and blocking any new build(s) submitted with com.adups.fota version 5.16 or older

– If you are using ADUPS as your FOTA provider, updates will be pushed to devices already active in the ecosystem automatically and no further action is required for those devices

– All new builds submitted to Google from hereon need to use ADUPS com.adups.fota version 5.22 or newer, or need to use an alternative FOTA solution

什么是BTS?Build Test Suite (System Image Scanning)

Build Test Suite (System Image Scanning)

The Build Test Suite (BTS) operates directly on software builds. It scans device images for preloaded malware and other Potentially Harmful Applications (PHAs) that may have been introduced by OEMs’ vendors and suppliers. BTS incorporates the same technology currently used for security scanning and analysis of applications installed via Google Play.

Starting April 1st, 2018, all partners MUST begin uploading their software builds to Google as described in their partnership agreements. Submission of software builds will be in addition to the existing test reports required for Google build approval.

Note: Partners are still responsible for vetting and reviewing all software that is distributed on their devices. Google continuously updates our databases and detection techniques for malware and security threats, but we may not always be able to detect an issue at the time of your build submission.

Submitting builds for BTS

Partners must submit whole software builds. Submissions of individual APKs are not supported. Google only scans APKs in the context of the whole build. As BTS develops, we will look beyond just the APKs in the filesystem images.

Enrollment for MADA partners

Partners can upload software builds in one of the following ways:

  1. Google Drive: Your TAM will share a Google Drive folder that you can copy your builds to.
  2. SFTP Dropbox: You can ask your TAM to set up a Secure File Transfer Protocol (SFTP) account for you so that you can upload your build software.
  3. Submission via 3PL: Submit firmware to your 3PL certifier using one of the supported formats.

Submit software builds

For each build that you submit to APFE, you should upload a single compressed archive (.zip, .rar, or .tgz) containing the Software Build in a supported formatThe archive should be named according to the build fingerprint, substituting forward slashes (“/”) and colons (“:”) with tildes (“~”). This helps reconcile the file with the reports in APFE.

Example:
If you have a zip file containing partition images that can be flashed using fastboot for a build with the fingerprint: acme/acme_1/acme_3g:7.0/NRD90M/123456789:user/release-keys
the file should be named:
acme~acme_1~acme_3g~7.0~NRD90M~123456789~user~release-keys.zip

Partners may submit additional software builds, although these submissions should be accompanied by at least a signature CTS report in APFE so that the results are available. Early submissions may help identify issues early on in the build process. We discourage submitting daily or continuous integration builds as those provide limited usefulness.

Build Test Suite analysis

BTS runs automatically on Google’s infrastructure in the background. The process depends on internal services that cannot be made available offline.

When BTS finishes, the results appear on APFE.

Build approval

If BTS does not detect any issues, then the build approval process will proceed as normal, subject to the results of other test reports uploaded.

Any suspected PHAs or other issue will be treated as test failure and will prevent build approval. Google can only share the package name and class of malware for any PHA. We cannot provide details on the possible impact of the PHA, its behavior, or how that behavior was detected.

If Google finds an issue after the build has been approved, your TAM will contact you. Partners must address new issues promptly and release an updated build that fixes the issue in accordance with their partnership agreements. New builds that still contain the issue will not be approved.

If you believe that an APK was incorrectly flagged, escalate to your TAM and provide as much detail as possible about the intended functionality of the app. Include details about the file’s origin, particularly if it was made in-house or by a supplier. Google will investigate and deal with these apps on a case-by-case basis.

Supported software build formats

Fastboot package

BTS requires the following partition images in a .zip (PKZIP) or .tgz (gzipped unix .tar) file:

  • system.img – The filesystem image mounted at /system on the device.
  • vendor.img – The filesystem image mounted at /vendor on the device.
  • oem.img – The filesystem image mounted at /oem on the device.
  • userdata.img – The filesystem image mounted at /data on the device. This is especially important if you pre-load or cache applications in the data partition to improve the out-of-box (OOB) boot time.
  • boot.img – The Linux Kernel and Ramdisk used to boot Android.
  • recover.img – The recovery image that the Linux Kernel and Ramdisk use for the device to boot to during recovery or to handle the command adb reboot recovery.
Note: The vendor.img and oem.img are only required if the build uses separate vendor and oem partitions, otherwise it is expected this content is part of the system image.

The images and filenames above are produced by the AOSP build system, and they can be applied to an unlocked OEM device using fastboot if the device’s bootloader support fastboot.

These filesystem images should be in Ext4, SquashFS, or F2FS format. Partners should use the sparse format for the partition image to reduce the space and upload size for filesystems with free space on them.

Other firmware formats

Google supports the following firmware formats used by various OEM, ODM, and SOC flashing tools:

  • Mediatek firmware used with Mediatek’s spflashtool
  • Spreadtrum PAC file format1
  • Qualcomm’s QFIL format
  • .NB0 format

Partners whose firmware is available in one of these formats may upload those formats, in a .zip, .tgz, or .rar file, instead of a fastboot archive. If you cannot provide firmware in one of the known formats, reach out to your TAM.

Note: Google does not accept firmware in self-extracting executables and does not accept password protected archive files.

Requesting an SFTP account

Larger OEMs may prefer submitting builds using SFTP because

  • SFTP does not require Google Drive quota.
  • BTS begins as soon as the upload completes.
  • Partners can use a wide range of SFTP client software.
  • SFTP is easier to integrate into automated build, QA review, and submission processes.

Contact your TAM to set up an SFTP account for uploading firmware images. You will need to generate an SSH2 RSA identity key pair for authentication and share the public key with your TAM. Once your SFTP account and dropbox have been configured, your TAM will provide you with the connection details for your SFTP account.

Generating an SSH Identity key pair

On Linux, use the following command, replacing “my_key” with a suitable key name:

$ ssh-keygen -t rsa -f my_key

This command will generate a private key, my_key, and a public key, my_key.pub. Your TAM will need the public key to set up your SFTP account.

Partners using a Microsoft Windows system can use the PuTTY client to generate SSH keys following these instructions.

Notes


  1. It is strongly recommended to compress Spreadtrum ‘.pac’ files to reduce the amount of data that needs to be uploaded. 

CTS 9.0 R1 released, new Android 9 platform and partner docs available

Android 9

Android 9 is the release of the development milestone code-named P. The source code for the following tests, including tests for instant apps, can be synced with the ‘android-cts-9.0_r1’ tag in the open-source tree.

MTK平台Google OTA (GOTA) 支持情况

GOTA是google开发的。

服务器是用google的,客户不用自己搭建,只需要向google申请账号。
而手机(client 端)的app也是google开发的,放在GMS包内,所以贵司的项目需要安装GMS包。
贵司还需要把projectconfig.mk中的MTK_SYSTEM_UPDATE设为no,安装GMS包之后,
手机设置settings-> About phone ->check是否有版本更新的入口。

继续阅读“MTK平台Google OTA (GOTA) 支持情况”

广升FOTA升级对GMS认证的影响

近期很多送测谷歌的项目因广升FOTA升级被谷歌退回,据了解是广升FOTA存在未经用户授权和知情的情况安装或升级应用。谷歌认为设备中包含广升FOTA会使GPP被禁用,而GPP是GMS设备安全核心的一部分。

3PL实验室建议急需送测的设备不要使用广升FOTA,或联系广升FOTA FAE提供解决方案,相信广升会提供符合GMS认证测试并删除FOTA本身自动更新的功能的版本。需要等认证结果进一步确认。

Android O版本 行为变更

Android O 除了提供诸多新特性和功能外,还对系统和 API 行为做出了各种变更。本文重点介绍您应该了解并在开发应用时加以考虑的一些主要变更。

其中大部分变更会影响所有应用,而不论应用针对的是何种版本的 Android。不过,有几项变更仅影响针对 Android O 的应用。为清楚起见,本页面分为两个部分:针对所有 API 级别的应用针对 Android O 的应用

继续阅读“Android O版本 行为变更”

什么是STS?(Security Test Suite)

Security Test Suite 安全测试套件

每月合作伙伴预览安全公告列出了设备制造商修复其设备的安全漏洞。 Android安全测试套件(STS)验证Android设备上是否解决了这些安全漏洞。 每月使用合作伙伴预览安全公告更新STS。 STS帮助合作伙伴验证:

安全补丁正确应用
相应的安全漏洞已修复
设备本身无安全漏洞

继续阅读“什么是STS?(Security Test Suite)”

GMS Funding Eligibility Condition 已过认证设备需提交上市状态

  • Funding Eligibility Condition: From July 1, 2018, Google has monitored activations of devices after certification for future funding eligibility. Based on activations, if Google finds that a funded device has not been commercially launched within 3 months after the certification date, Google will request for justification from the partner. If a satisfactory justification is not provided by partner repeatedly, then the Funding Program may be suspended for that partner for few months by informing all the 3PLs and the partner.

继续阅读“GMS Funding Eligibility Condition 已过认证设备需提交上市状态”

GMS Requirements: Rich Communications Services (RCS)

Google believes that interoperable IP messaging based on the open Rich Communications Services (RCS) specification is a viable direction to improve the Android messaging experience for users beyond SMS/MMS and is becoming a fundamental technology expected on the devices for which we’re licensing GMS.


Therefore, we plan to add the following in the upcoming Q4 GMS Requirements (to be announced with other changes in November), which will be enforced 60 days after the announcement.

继续阅读“GMS Requirements: Rich Communications Services (RCS)”

com.google.android.permission.gts.PreloadAppsTargetSdkVersionTest#testPreloadedAppsTargetSdkVersion fail

[DESCRIPTION]
使用GTS新工具GTS6.0R1测试 module:GtsPermissionTestCases,com.google.android.permission.gts.PreloadAppsTargetSdkVersionTest#testPreloadedAppsTargetSdkVersion fail
java.lang.AssertionError:All preloaded apps must target SDK 26 or higher:
com.mediatek.ppl targets 24,
com.mediatek.ygps targets 23,
com.mediatek.simprocessor targets 25,
com.mediatek.engineermode targets 23,
com.mediatek.omacp targets 25,
com.mediatek.emcamera targets 23,
com.mediatek.duraspeed targets 24,
com.mediatek.lbs.em2.ui targets 23,
com.mediatek.mtklogger targets 23,
com.mediatek.mtklogger.proxy targets 23,

继续阅读“com.google.android.permission.gts.PreloadAppsTargetSdkVersionTest#testPreloadedAppsTargetSdkVersion fail”

[GTS_6.0.R1]GtsPackageManagerHostTestCases中com.google.android.pm.gts.PackageManagerHostTest#testSoundPool FAIL

[DESCRIPTION]
GtsPackageManagerHostTestCases中com.google.android.pm.gts.PackageManagerHostTest#testSoundPool Fail]

Fail:
07-07 11:24:13 I/RemoteAndroidTest: Running am instrument -w -r –user 0 -e timeout_msec 600000 -e class ‘com.google.android.gts.packagemanager.InstantAppTestCases#testSoundPool’ com.google.android.gts.packagemanager.instant/android.support.test.runner.AndroidJUnitRunner on alps-k80_bsp-0123456789ABCDEF
07-07 11:24:19 I/XtsHostTestBase: Test com.google.android.gts.packagemanager.InstantAppTestCases#testSoundPool: FAILURE
07-07 11:24:19 W/XtsHostTestBase: java.lang.AssertionError: Instant App should be able to access Media / DrmManager.
Please apply patches r.android.com/502604, SHA d2b3a45, and SHA b93f049
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.assertTrue(Assert.java:41)

继续阅读“[GTS_6.0.R1]GtsPackageManagerHostTestCases中com.google.android.pm.gts.PackageManagerHostTest#testSoundPool FAIL”

android.hardware.cts.CameraTest#testJpegExif

[DESCRIPTION]
CTS测试时,android.hardware.cts.CameraTest 中的testJpegExif 测项fail ,测试报告一般会报出如下类似的错误:

junit.framework.AssertionFailedError: expected:<3.5> but was:<3.3> at android.hardware.cts.CameraTest.testJpegExifByCamera(CameraTest.java:843)

[ANALYSE]

该项cts测试主要是测试拍照时,拍出来的jpeg图片中的focal length的值(最终读取sensor 的相关设定)是否与parameters中的值一致,若不一致则fail。

由于目前平台上面parameters中的focal length只有一个默认的初始赋值,而没有真正从sensor driver去query,所以若要修改sensor设定的focal length的值,也要同步修改parameters中的focal length值,并且前后摄像头的这个值也需要保持一致。

继续阅读“android.hardware.cts.CameraTest#testJpegExif”

android.jvmti.cts.JvmtiHostTest911#testJvmti Fail

[DESCRIPTION]
D/ModuleListener: ModuleListener.testFailed(android.jvmti.cts.JvmtiHostTest911#testJvmti, junit.framework.AssertionFailedError: [android.jvmti.cts.JvmtiRunTestBasedTest#testRunTest java.lang.IllegalStateException: ###################
### Same thread ###
###################
 这项测试失败主要是因为手机里面的zygote进程创建进程时,所属进程中的线程不符合Google的要求。
一般是由客户自己加的功能引起的。
[SOLUTION]

继续阅读“android.jvmti.cts.JvmtiHostTest911#testJvmti Fail”

Test suites GMS July release GMS Client ID update

These versions will be required for GMS approvals as described in the table below:

Release Release version Required-use date
CTS 8.1 R7, 8.0 R11, 7.1 R19, 7.0 R23, 6.0 R30 2018-8-21
VTS 8.1_r4 and 8.0_r8 w August SPLs 2018-8-21
GMS 8.1_201807, 8.0_201807 2018-9-18

GMS Client ID update
Updated H3G country list to include ITWe’ve updated the GMS Client ID mapping (direct link), effective for new devices only. Check with specific carriers to confirm which values to set. Here’s a summary of the changes:

  • Removed AT, BE, CH, FR from Vodafone list of countries
  • Added a row for Vodafone AU

被欧盟重罚340亿!谷歌警告:Android可能不再免费!

欧盟宣布将对谷歌罚款43.4亿欧元,约合人民币340亿元,理由是谷歌在原生Android系统强制预载Chorme浏览器和谷歌搜索引擎,涉嫌违反欧盟反垄断法。对此,谷歌CEO警告称,由于欧盟的决定,Android可能无法保持免费,或许将向手机厂商收取授权费。

欧盟对Alphabet Inc. (GOOG)旗下谷歌(Google)开出创纪录的43.4亿欧元(合50.6亿美元)反垄断罚单,并命令谷歌调整其业务,这可能让谷歌失去对手机这个该公司最大增长引擎的控制。

对于少数科技巨头的影响力,欧盟作出了迄今最严厉的指责,欧盟反垄断监管机构周三认定,谷歌滥用其Android操作系统的主导地位推广并强化自己的手机应用和服务,尤其是该公司的搜索引擎;全球超过80%的智能手机都搭载了Android系统。

Android手机预装了谷歌应用和服务,包括谷歌搜索。竞争对手长期以来都抱怨,Android的主导地位让谷歌具备了不公平的优势,吸引用户使用谷歌的应用程序,然后利用应用数据来设计并推出有针对性的广告。欧盟表示,预装的应用阻止了其他竞争性的应用。

谷歌近期政策通知

谷歌最新政策如下:

1、express+设备MR也可以享受谷歌资金支持;

2、谷歌将在8月份开始释放Android 9.X版本, go的版本也同时放出;

3.Android 8.X的截止日期为2018-12-31,2019年起仅能送测Android 9.X项目;

4.2018年10月1日起,谷歌强制执行STS及BTS,相应的补丁会每月更新一次。

谷歌Key的申请条件以及方式

Google 有2种Key ,申请条件如下:

1. Wedvine level 1 keybox[询问平台商是否支持Level1]

2. Attestation keybox [Android O必需]

3.10万台内可以共用同一个,详细如下:

MUST support key attestation where the attestation signing key is  protected by secure hardware and signing is performed in secure hardware.The  attestation signing keys MUST be shared across large enough number of devices  to prevent the keys frombeing used as device identifiers. One way of meeting  this requirement is to share the same attestation key unless at least 100000  units of a given SKU are produced. If more than 100000 units of an SKU are  produced, a different key MAY be used for each 100000 units.

申请资料如下:

继续阅读“谷歌Key的申请条件以及方式”

CtsIntentSignatureTestCases android.signature.cts.intent.IntentTest#shouldNotFindUnexpectedIntents FAIL

[DESCRIPTION]
CtsIntentSignatureTestCases android.signature.cts.intent.IntentTest#shouldNotFindUnexpectedIntents

Fail:
java.lang.AssertionError: [Package: com.android.systemui Invalid Intent: [android.intent.action.ACTION_SUBSIDYLOCK_STATE]]

[SOLUTION]

继续阅读“CtsIntentSignatureTestCases android.signature.cts.intent.IntentTest#shouldNotFindUnexpectedIntents FAIL”

Android 8.1 Google issue

Android 8.1 Google issue
特别注意:
1.有link的Google issue ,不需要再来申请分析报告,用link申请waive.
2.已得到Google回复的: You can get a waiver .

3.已提交google等待google 回复的: Waiting for google feedback.
所有Waiting for Google feedback的Google issue, 均需要客户与Google 确认是否可以waive, MTK 亦在努力与Google 沟通中,一旦拿到Google waiver, 会修改成:You can get a waiver
以下Google issue,不是全部Google issue, 其它fail 需要提供Log 来确认
同一个google issue可能在多个CTS版本 一直存在,因此豁免版本不仅限于标注的CTS版本。同一条case在CTS/CTS-ON-GSI测试下,fail root cause相同,则是同一个问题,同一个waive ID;

继续阅读“Android 8.1 Google issue”

支付宝使用的30多个开源软件

在支付宝中的“设置”选项中,有一项为“关于”,在版权信息中显示了所有使用的开源软件信息。不看不知道,一看吓一跳,原来支付宝居然使用了30多个开源软件,下面整理了支付宝 Android 客户端使用的开源组件,觉得对你们有帮助的可以看下:

继续阅读“支付宝使用的30多个开源软件”

CtsNetTestCases android.net.wifi.cts.NsdManagerTest#testNDSManager FAIL

[DESCRIPTION]
CtsNetTestCases android.net.wifi.cts.NsdManagerTest#testNDSManager
04-05 15:12:49 I/ConsoleReporter: [1/1 arm64-v8a CtsNetTestCases HGAE5WKC] android.net.wifi.cts.NsdManagerTest#testNDSManager fail: junit.framework.AssertionFailedError
at junit.framework.Assert.fail(Assert.java:48)
at junit.framework.Assert.assertTrue(Assert.java:20)
at junit.framework.Assert.assertTrue(Assert.java:27)
at android.net.wifi.cts.NsdManagerTest.testNDSManager(NsdManagerTest.java:361)
at java.lang.reflect.Method.invoke(Native Method)
[SOLUTION]

继续阅读“CtsNetTestCases android.net.wifi.cts.NsdManagerTest#testNDSManager FAIL”

android.hardware.consumerir.cts.ConsumerIrTest#test_timing fail

[DESCRIPTION]
run cts -m CtsHardwareTestCases -t android.hardware.consumerir.cts.ConsumerIrTest#test_timing
fail
06-12 15:34:34 D/ModuleListener: ModuleListener.testStarted(android.hardware.consumerir.cts.ConsumerIrTest#test_timing)
06-12 15:34:34 D/ModuleListener: ModuleListener.testFailed(android.hardware.consumerir.cts.ConsumerIrTest#test_timing, junit.framework.AssertionFailedError: Pattern length pattern:499995000, actual:926538
at junit.framework.Assert.fail(Assert.java:50)
at junit.framework.Assert.assertTrue(Assert.java:20)
at android.hardware.consumerir.cts.ConsumerIrTest.test_timing(ConsumerIrTest.java:94)
at java.lang.reflect.Method.invoke(Native Method)
[SOLUTION]

继续阅读“android.hardware.consumerir.cts.ConsumerIrTest#test_timing fail”

android.media.cts.CamcorderProfileTest#testGetWithId fail

[DESCRIPTION]
run cts -m CtsMediaTestCases – t android.media.cts.CamcorderProfileTest#testGetWithId
fail :
06-11 11:31:08 D/ModuleListener: ModuleListener.testStarted(android.media.cts.CamcorderProfileTest#testGetWithId)
06-11 11:31:09 D/ModuleListener: ModuleListener.testFailed(android.media.cts.CamcorderProfileTest#testGetWithId, junit.framework.AssertionFailedError: expected:<4500000> but was:<24000000>
at junit.framework.Assert.fail(Assert.java:50)
at junit.framework.Assert.failNotEquals(Assert.java:287)
at junit.framework.Assert.assertEquals(Assert.java:67)
at junit.framework.Assert.assertEquals(Assert.java:199)
at junit.framework.Assert.assertEquals(Assert.java:205)
at android.media.cts.CamcorderProfileTest.assertProfileEquals(CamcorderProfileTest.java:115)
at android.media.cts.CamcorderProfileTest.checkSpecificProfiles(CamcorderProfileTest.java:240)
[SOLUTION]

继续阅读“android.media.cts.CamcorderProfileTest#testGetWithId fail”

android.bluetooth.cts.BluetoothLeScanTest#testBasicBleScan fail

[DESCRIPTION]

android.bluetooth.cts.BluetoothLeScanTest

— testBasicBleScan

–testBatchScan

— testOpportunisticScan

— testScanFilter

Fail信息如下:

fail junit.framework.AssertionFailedError: Scan results shouldn’t be empty at junit.framework.Assert.fail(Assert.java:50)

[SOLUTION]
首先,请确保合入patch:ALPS03646285

继续阅读“android.bluetooth.cts.BluetoothLeScanTest#testBasicBleScan fail”

com.google.android.permission.gts.DefaultPermissionGrantPolicyTest#testDefaultGrantsWithRemoteExceptions test fail

[DESCRIPTION]
 com.google.android.permission.gts.DefaultPermissionGrantPolicyTest#testDefaultGrantsWithRemoteExceptions test fail
java.lang.AssertionError: Permission:android.permission.WRITE_EXTERNAL_STORAGE cannot be granted by default to package:com.google.android.talk  
[SOLUTION]

继续阅读“com.google.android.permission.gts.DefaultPermissionGrantPolicyTest#testDefaultGrantsWithRemoteExceptions test fail”

关于USB Accessory Test测试事项

[DESCRIPTION]
一、USB Accessory Test测试,不要求测试机端支持OTG;
因此取消usb.host不会影响此项测试;

<meta-data android:name=”test_category” android:value=”@string/test_category_hardware” />

<meta-data android:name=”test_required_features” android:value=”android.hardware.usb.accessory” />

<meta-data android:name=”test_excluded_features”

二、USB Accessory Test测试方法:
1、Install the Cts Vefifier USB Companion app on a separate helper device;
2、Start the accessory test companion in the Cts Verifier USB compannion;
3、Connect the two devices, if using a otg adapter make sure the adapter directly conected to the helper device.if using an type-c cable make sure that the helper device is set as supply power to the attached device.

[SOLUTION]

继续阅读“关于USB Accessory Test测试事项”

com.google.android.os.gts.SysConfigTest#testValidSysConfigPresent fail

[DESCRIPTION]

低于内存是512MB的android go项目,maps go是optional app.(参考GMS Go Requirements – 2018-02-23.pdf第3页),
但是移除掉的话,会出现如下GTS fail:
Module:GtsOsTestCases
Test:com.google.android.os.gts.SysConfigTest#testValidSysConfigPresent

com.google.android.os.gts.SysConfigTest#testValidSysConfigPresent
fail
java.lang.AssertionError: Modification of required config file: Missing elements for tag linkedApps: ‘com.google.android.apps.maps’ . required={com.android.vending, com.google.android.music, com.google.android.apps.docs, com.google.android.apps.maps, com.google.android.videos, com.google.android.apps.photos, com.google.android.calendar, com.google.android.apps.tycho, com.google.android.talk, com.google.android.apps.youtube.mango} . all={com.google.android.apps.docs.editors.docs, com.google.android.apps.mapslite, com.google.android.apps.docs.editors.sheets, com.google.android.apps.docs.editors.slides, com.android.vending, com.google.android.music, com.google.android.apps.docs, com.google.android.apps.plus, com.google.android.videos, com.google.android.apps.photos, com.google.android.calendar, com.google.android.apps.tycho, com.google.android.talk, com.google.android.apps.youtube.mango} at org.junit.Assert.fail(Assert.java:88) at com.google.android.os.gts.SysConfigTest.assertSystemConfigEquals(SysConfigTest.java:424) at com.google.android.os.gts.SysConfigTest.testValidSysConfigPresent(SysConfigTest.java:112)

[SOLUTION]

继续阅读“com.google.android.os.gts.SysConfigTest#testValidSysConfigPresent fail”

android.media.cts.AudioTrackLatencyTest#testPlaySmallBuffer test fail

[DESCRIPTION]

android.media.cts.AudioTrackLatencyTest#testPlaySmallBuffer test fail
junit.framework.AssertionFailedError: testPlaySmallBuffer: did it play all the data? expected:<1539> but was:<1024>
at junit.framework.Assert.fail(Assert.java:50)
at junit.framework.Assert.failNotEquals(Assert.java:287)
at junit.framework.Assert.assertEquals(Assert.java:67)

[SOLUTION]

继续阅读“android.media.cts.AudioTrackLatencyTest#testPlaySmallBuffer test fail”

VtsHalKeymasterV3_0Target模块Fail

[DESCRIPTION]
VtsHalKeymasterV3_0Target模块里面这2条case Fail

AttestationTest.EcAttestation ”“AttestationTest.RsaAttestation fail

GTS也有2条对应的case 会Fail
com.google.android.gts.security.AttestationRootHostTest#testEcAttestationChain
com.google.android.gts.security.AttestationRootHostTest#testRsaAttestationChain

[SOLUTION]

继续阅读“VtsHalKeymasterV3_0Target模块Fail”

[CTS Test]项目不支持OTG,如何去除CtsVerifier测试中USB相关的测试项

[DESCRIPTION]
AudioFrequencyMicrophoneTest
AudioFrequencySpeakerTest
AudioFrequencyUnprocessedTest
这三条需要连接USB microphone麦克风才能测试
USB Audio Peripheral Attributes Test
USB Audio Peripheral Buttons Test
USB Audio Peripheral Play Test
USB Audio Peripheral Record Test
这四条需要连接USB Audio headset耳机才能测试

继续阅读“[CTS Test]项目不支持OTG,如何去除CtsVerifier测试中USB相关的测试项”