SMS, CALL_LOG Permissions and Contacts Provider API Changes

We are constantly reviewing our Android and Google Play policies, tools, APIs, and programs to ensure a safe and secure ecosystem. As part of these ongoing reviews, this week we are announcing two changes that will be enforced starting January 2019:

继续阅读“SMS, CALL_LOG Permissions and Contacts Provider API Changes”

Recently BTS report such harmful application error of LovelyFonts.apk on lots of builds which will block certification

Please make sure that there is no LovelyFonts.apk on your build.

Use this command to check:

adb shell "dumpsys package com.valmedia.fdelux"

If apk exists, you can config LOVELYFONTS_SUPPORT = no to remove it in ProjectConfig.mk.

New Google Play services APK Variants

We recently updated the Unbundled GMS folder with the latest Google Play services (GmsCore) version 13.2.92 binaries. With this version, we introduced the additional APK variants as below:

  • 13.2.92_API23+: APK Variant for the Android platform API Level 23 (Marshmallow) and higher but less than the API Level 28 (Pie).
  • 13.2.92_API28: APK Variant for the Android platform API Level 28 (Pie).
  • 13.2.92_Go: APK Variant for the Android devices in Low RAM (Android Go) configuration, API Level 27 (Oreo MR1) and higher.

Please make sure the right APK Variant was used on your device builds if you have downloaded this new version of Google Play services for production purpose.

GTS CarrierServiceTest

As part of the GTS v6.0r2 release, we will check for the presence of Android Messages (CarrierServiceTest) by default against all devices for any ACSA (Agreement to preload Carrier Services and Android Messages) partner.

In addition, for any device with Android Message installed, regardless of ACSA status, the GTS tests will run to check proper system permissions for Android Message, as well as checking system permission and privileges for Carrier Services.

The only way to exempt devices/builds from the above tests is for the Google Comms OEM team to write an exemption.  

继续阅读“GTS CarrierServiceTest”

The October releases CTS for Android 9.0, 8.1, 8.0, 7.1, and 7.0 are released and Test suites required-use date updated

The October releases of the Android Compatibility Test Suite (CTS) for Android 9.0, 8.1, 8.0, 7.1, and 7.0 are released on the AOSP website; see the android-partners announcement for more details.

These releases also contain continuous improvements of tests and test infrastructure and verify security patches up to September 2018 Public Security Bulletin.

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

继续阅读“The October releases CTS for Android 9.0, 8.1, 8.0, 7.1, and 7.0 are released and Test suites required-use date updated”

【GTS6.0_r1】 com.google.android.xts.permissions.InitialRuntimePermissionStateTest -- testAllSystemAppsUsingRuntimePermissionsTargetMncAndAboveSdk fail

[DESCRIPTION]

GTS 3.0R2在M平台上运行时会报如下错误:
com.google.android.xts.permissions.InitialRuntimePermissionStateTest
-- testAllSystemAppsUsingRuntimePermissionsTargetMncAndAboveSdk fail junit.framework.AssertionFailedError: testAllSystemAppsUsingRuntimePermissionsTargetMncAndAboveSdk errors: Package:com.mediatek.voicecommand.overlay uses runtime permissions but doesn't target 23+ SDK

com.google.android.xts.permissions.InitialRuntimePermissionStateTest
-- testAllSystemAppsUsingRuntimePermissionsTargetMncAndAboveSdk fail junit.framework.AssertionFailedError: testAllSystemAppsUsingRuntimePermissionsTargetMncAndAboveSdk errors: Package:com.mobisystems.office uses runtime permissions but doesn't target 23+ SDK

[SOLUTION]

继续阅读“【GTS6.0_r1】 com.google.android.xts.permissions.InitialRuntimePermissionStateTest -- testAllSystemAppsUsingRuntimePermissionsTargetMncAndAboveSdk fail”

GTS 5.1_R3 GtsPackageManagerHostTestCases---com.google.android.pm.gts.PackageManagerHostTest#testSettingsReadable

[DESCRIPTION]
GtsPackageManagerHostTestCases---com.google.android.pm.gts.PackageManagerHostTest#testSettingsReadable

[SOLUTION]

继续阅读“GTS 5.1_R3 GtsPackageManagerHostTestCases---com.google.android.pm.gts.PackageManagerHostTest#testSettingsReadable”

GTS com.google.android.gts.backup.LocaleSettingsRestoreHostSideTest#testLocaleRestore

[DESCRIPTION]
run gts -m GtsBackupHostTestCases -t com.google.android.gts.backup.LocaleSettingsRestoreHostSideTest#testLocaleRestore

junit.framework.AssertionFailedError: Locales after restore are not as expected. expected:<[en-US, gl-ES, ga-IE, af-ZA]> but was:<[en-US, gl-ES]>
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 com.google.android.gts.backup.testscontainerapp.LocaleSettingsRestoreTest.checkLocales(LocaleSettingsRestoreTest.java:105)
at java.lang.reflect.Method.invoke(Native Method)

[SOLUTION]

继续阅读“GTS com.google.android.gts.backup.LocaleSettingsRestoreHostSideTest#testLocaleRestore”

[VTS 9.0_R3] fail项:VtsHalRadioV1_1Target

[DESCRIPTION]
 armeabi-v7a VtsHalRadioV1_1Target
Test Result Details
VtsHalRadioV1_1Target#RadioHidlTest_v1_1.setCarrierInfoForImsiEncryption(imsrild1)_32bit fail hardware/interfaces/radio/1.1/vts/functional/radio_hidl_hal_test.cpp:51
VtsHalRadioV1_1Target#RadioHidlTest_v1_1.setCarrierInfoForImsiEncryption(imsrild2)_32bit fail hardware/interfaces/radio/1.1/vts/functional/radio_hidl_hal_test.cpp:51
VtsHalRadioV1_1Target#RadioHidlTest_v1_1.setCarrierInfoForImsiEncryption(se1)_32bit fail hardware/interfaces/radio/1.1/vts/functional/radio_hidl_hal_test.cpp:51
VtsHalRadioV1_1Target#RadioHidlTest_v1_1.setCarrierInfoForImsiEncryption(se2)_32bit fail hardware/interfaces/radio/1.1/vts/functional/radio_hidl_hal_test.cpp:51
VtsHalRadioV1_1Target#RadioHidlTest_v1_1.setCarrierInfoForImsiEncryption(slot1)_32bit fail hardware/interfaces/radio/1.1/vts/functional/radio_hidl_hal_test.cpp:51
VtsHalRadioV1_1Target#RadioHidlTest_v1_1.setCarrierInfoForImsiEncryption(slot2)_32bit fail hardware/interfaces/radio/1.1/vts/functional/radio_hidl_hal_test.cpp:51
VtsHalRadioV1_1Target#RadioHidlTest_v1_1.setSimCardPower_1_1(imsrild1)_32bit fail hardware/interfaces/radio/1.1/vts/functional/radio_hidl_hal_test.cpp:51
VtsHalRadioV1_1Target#RadioHidlTest_v1_1.setSimCardPower_1_1(imsrild2)_32bit fail hardware/interfaces/radio/1.1/vts/functional/radio_hidl_hal_test.cpp:51
VtsHalRadioV1_1Target#RadioHidlTest_v1_1.setSimCardPower_1_1(se1)_32bit fail hardware/interfaces/radio/1.1/vts/functional/radio_hidl_hal_test.cpp:51
报错讯息如下:
09-27 10:08:35 D/ModuleListener: ModuleListener.testFailed(VtsHalRadioV1_1Target#RadioHidlTest_v1_1.setSimCardPower_1_1(se1)_32bit, hardware/interfaces/radio/1.1/vts/functional/radio_hidl_hal_test.cpp:51
Expected equality of these values:
  CardState::PRESENT
    Which is: 4-byte object <01-00 00-00>
  cardStatus.cardState
    Which is: 4-byte object <00-00 00-00>)
09-27 10:08:35 I/ConsoleReporter: [8/42 armeabi-v7a VtsHalRadioV1_1Target 0123456789ABCDEF] VtsHalRadioV1_1Target#RadioHidlTest_v1_1.setSimCardPower_1_1(se1)_32bit fail: hardware/interfaces/radio/1.1/vts/functional/radio_hidl_hal_test.cpp:51
Expected equality of these values:
  CardState::PRESENT
    Which is: 4-byte object <01-00 00-00>  期望插卡
  cardStatus.cardState
    Which is: 4-byte object <00-00 00-00>  实际无卡
[SOLUTION]

继续阅读“[VTS 9.0_R3] fail项:VtsHalRadioV1_1Target”

Jon_Lo | Android源码编译详解【四】:Android 6.0_源码的下载与编译

 1、AOSP源码下载 

        AOSP:即为"Android Open-Source Project"的缩写,中文意为 :"安卓开放源代码项目"。

Google官方宣称:任何人都可以以任何目的使用Android源代码,我们也十分欢迎这样做。但是为了共享整个Android生态系统的应用程序,所有设备制造商必须参加“安卓兼容性计划”,但事实上......在中国很难实现兼容计划~!。

        目前,我们可以下载Google原生未定制修改的AOSP版Android源码进行测试编译,但是一定要保证整套源码的健全性,否则无法编译通过。

继续阅读“Jon_Lo | Android源码编译详解【四】:Android 6.0_源码的下载与编译”

Jon_Lo | Android源码编译详解【三】:Ubuntu 服务器的搭载与配置

配置Ubantu系统服务器,需要在“终端”输入指定的命令来安装指定的程序,进行对应的操作,类似于Windows中的命令行,因此在进行接下来的配置操作之前,我们需要搜索并打开打开“终端”程序。

继续阅读“Jon_Lo | Android源码编译详解【三】:Ubuntu 服务器的搭载与配置”

Jon_Lo | Android 源码编译详解【二】:VMware12/Ubuntu16 下载、安装图解

 1、软件下载 

       1.1、VMwareWorkstation v12.0下载

       VMware Workstation是一款运行在Windows上的虚拟PC软件,它提供专业技术人员每天所依赖的创新功能,支持 Win 8.1、Win 10 、平板电脑传感器和即将过期的虚拟机,可使你的工作无缝、直观、更具关联性,但VMware64位虚拟机才会支持64位的Ubantu操作系统。

继续阅读“Jon_Lo | Android 源码编译详解【二】:VMware12/Ubuntu16 下载、安装图解”

Jon_Lo | Android 源码编译详解【一】:服务器硬件配置及机型推荐

做 Android系统开发多年,开发环境都是入职就搭建好了,入职时拿个账号密码就直接开始搞开发了,年初换了新公司,所有的项目都是刚起步,一切环境都要重新搭建,有幸当此重任,因为自己之前也只是用过,并没有亲手搭建过,所以也是边学边用,现学想卖,尽可能全面细致给小白做个参考,大神不喜勿喷,不全面的地方还望前辈留言补充,相互交流学习,感谢~!

        工欲善其事,必先利其器”,要想提高团队整体的开发效率,尽可能的提前完成开发任务,必须要配备一套配置给力的开发设备。源码编译服务器硬件配置的高低,直接影响着系统固件升级和ROM版本发布的速度和效率。

由于目前Google发布的最新版本的Android系统源码体积越来越大,因此,越是定制高版本的系统,对编译服务器的硬件配置要求就越高,这里根据调研,给出目前Android 6.0及以下版本源码定制开发的基本配置,供大家参考。

继续阅读“Jon_Lo | Android 源码编译详解【一】:服务器硬件配置及机型推荐”

Android P上打开AVB2.0的配置方法

AVB2.0 是google 设计的 verified boot 流程用于保护boot,recovery/system/vendor partion的完整性。每一个partion可以设置为hash或者是chain partion方式

   更多AVB2.0的资讯,您可以参考google spec
https://android.googlesource.com/platform/external/avb/+/master/README.md
   如果你的平台使用的kernel版本大于等于4.9,并且是Android P版本,AVB2.0是必须要开启的
   MTK默认的配置为:recovery,systemchain partion,其余为hash。您也可以根据需要修改

   P版本开启AVB2.0的方法

继续阅读“Android P上打开AVB2.0的配置方法”

/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.17' (or `GLIBC_2.18') not found

Android P 9.0 编译时报如下错误:

原因应该是ubuntu 版本太低 12.04, 要求最低版本:ubuntu 14.04

继续阅读“/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.17' (or `GLIBC_2.18') not found”

CTS 9.0 R2 and CTS September releases are available

The CTS September releases for Android 9.0, 8.1, 8.0, 7.1, 7.0 and 6.0 are available on the Compatibility Test Suite Downloads page. The releases for Android 8.1, 8.0, 7.1, 7.0 and 6.0 also contain continuous improvements of tests and test infrastructure, and verify security patches up to the August 2018 Public Security Bulletin.  

Details are available in the following change lists:

继续阅读“CTS 9.0 R2 and CTS September releases are available”

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

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

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

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