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解析”

Android O版本 行为变更

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

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

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

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.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”

谷歌近期政策通知

谷歌最新政策如下:

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”

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.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”

关于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测试事项”

Android GO GMS认证 

一、2018年最新的GMS需提供5份测试报告,其中包括以下测试:

1、正式版本的CTS测试  (正式版本指的是要拿来送认证的的版本)

2、正式版本的CtsVerifier测试

3、正式版本的GTS测试

4、GSI user 版本的VTS测试

5、GSI user版本的CTS测试

具体测试步骤查请看后面几点

继续阅读“Android GO GMS认证 ”

[CTS_8.1] android.autofillservice.cts.PreSimpleSaveActivityTest#testTapLink_changeOrientationThenTapBack android.autofillservice.cts.SimpleSaveActivityTest#testTapLink_changeOrientationThenTapBack

如下2条Case 可以申请豁免
android.autofillservice.cts.PreSimpleSaveActivityTest#testTapLink_changeOrientationThenTapBack
android.autofillservice.cts.SimpleSaveActivityTest#testTapLink_changeOrientationThenTapBack
Fail info
java.lang.AssertionError: negative button (NO THANKS): Not true that the subject is a non-null reference
[SOLUTION]

继续阅读“[CTS_8.1] android.autofillservice.cts.PreSimpleSaveActivityTest#testTapLink_changeOrientationThenTapBack android.autofillservice.cts.SimpleSaveActivityTest#testTapLink_changeOrientationThenTapBack”

Android8.1(O1)CTS失败项纪录

1、CtsLibcoreTestCases libcore.java.net.SocketTest#testSocketTestAllAddresses

  • 网络问题,需要在IPV6的环境下进行测试

2、CtsLocationTestCases android.location.cts.GnssPseudorangeVerificationTest#testPseudoPosition

  • 在测试之前确保工模下有搜到卫星信号,可以在笔记本上设定cts 环境,然后在户外测试。或者使用室内GPS信号放大器

3、CtsKeystoreTestCases android.keystore.cts.KeyAttestationTest#testEcAttestation

  • 该项测试需要申请google key

继续阅读“Android8.1(O1)CTS失败项纪录”

Android8.1认证新特性与要求

本文主要说明Android8.1过GMS认证的一些新特性和新要求。

新增测试

Android7.x以及之前的版本,如果要过GMS认证,只需要完成CTS测试、GTS测试和CTS Verifier,如果全部通过,将软件送给google授权的实验室即可。

Android8.0以后,除了要完成默认版本的CTS测试、GTS测试和CTS Verifier之外,新增加了两个新的测试。

这两个新的测试需要在替换谷歌提供AOSP的system.img (GSI)的版本上进行,分别是:

继续阅读“Android8.1认证新特性与要求”