GMS-基础环境搭建

GMS测试
GMS 全称为 Google Mobile Service,即谷歌移动服务,对于出口厂商而言,没有 GMS 的手机走不了运营商的渠道,在欧美等地区由运营商为主导的手机市场,GMS 是一个强制的认证,否则进入不了他们的市场。做了 GMS 认证有以下几个优点:
可以提高安卓系统的兼容性和稳定性;
可以使用谷歌服务;
可以在机身和包装使用 Android logo;
可以进入欧美市场;

环境搭建

一、版本信息:
系统版本:Ubuntu 20.04 LTS
JDK版本: 1.8.0_171
SDK版本:android-sdk_r24.4.1-linux.tgz
ADB版本:1.0.40
apktool版本:2.4.0
aapt(Android Asset Packaging Tool)版本:v0.2-eng.ibotpe.20190216.092407

二、安装JDK
#sudo add-apt-repository ppa:openjdk-r/ppa
#sudo apt-get update 
#sudo apt-get install openjdk-8-jdk
安装完成后,输入java -version,检查环境是否OK,

三、安装SDK
 1、下载最新SDK版本(http://tools.android-studio.org/index.php/sdk),使用android-sdk_r24.4.1-linux.tgz,手动解压,会得到android-sdk-linux文件夹
 2、进入tools文件夹,运行./android
3、选择安装最新的工具,一般默认即可,点击"install 8 packages"
 4、添加SDK环境变量
复制代码
<第一种方法>
#sudo gedit ~/.bashrc
//打开文件后,末尾添加如下信息(SDK路径改成实际路径):
export ANDROID_SDK=/home/amlogic/sdk/android-sdk-linux
export PATH=$PATH:$ANDROID_SDK/platform-tools:$ANDROID_SDK/tools
//保存退出后,使环境生效
#source ~/.bashrc 
 5、验证是否安装ok,输入adb version

四、安装32 位类库
#sudo apt-get install lib32ncurses5 lib32z1 libstdc++6:i386 -y

五、安装minicom
//非必需,如果使用串口工具调试则安装
#sudo apt-get install minicom -y
六、安装apktool:

官网教程:(https://ibotpeaches.github.io/Apktool/install/):
1、下载apktool脚本:apktool (https://raw.githubusercontent.com/iBotPeaches/Apktool/master/scripts/linux/apktool, 保存链接为文件,文件名保存为apktool,无后缀)

#!/bin/bash
#
# Copyright (C) 2007 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# This script is a wrapper for smali.jar, so you can simply call "smali",
# instead of java -jar smali.jar. It is heavily based on the "dx" script
# from the Android SDK

# Set up prog to be the path of this script, including following symlinks,
# and set up progdir to be the fully-qualified pathname of its directory.
prog="$0"
while [ -h "${prog}" ]; do
    newProg=`/bin/ls -ld "${prog}"`

    newProg=`expr "${newProg}" : ".* -> \(.*\)$"`
    if expr "x${newProg}" : 'x/' >/dev/null; then
        prog="${newProg}"
    else
        progdir=`dirname "${prog}"`
        prog="${progdir}/${newProg}"
    fi
done
oldwd=`pwd`
progdir=`dirname "${prog}"`
cd "${progdir}"
progdir=`pwd`
prog="${progdir}"/`basename "${prog}"`
cd "${oldwd}"

jarfile=apktool.jar
libdir="$progdir"
if [ ! -r "$libdir/$jarfile" ]
then
    echo `basename "$prog"`": can't find $jarfile"
    exit 1
fi

javaOpts=""

# If you want DX to have more memory when executing, uncomment the following
# line and adjust the value accordingly. Use "java -X" for a list of options
# you can pass here.
#
javaOpts="-Xmx512M -Dfile.encoding=utf-8"

# Alternatively, this will extract any parameter "-Jxxx" from the command line
# and pass them to Java (instead of to dx). This makes it possible for you to
# add a command-line parameter such as "-JXmx256M" in your ant scripts, for
# example.
while expr "x$1" : 'x-J' >/dev/null; do
    opt=`expr "$1" : '-J\(.*\)'`
    javaOpts="${javaOpts} -${opt}"
    shift
done

if [ "$OSTYPE" = "cygwin" ] ; then
	jarpath=`cygpath -w  "$libdir/$jarfile"`
else
	jarpath="$libdir/$jarfile"
fi

# add current location to path for aapt
PATH=$PATH:`pwd`;
export PATH;
exec java $javaOpts -jar "$jarpath" "$@"



2、下载最新apktool.jar (https://bitbucket.org/iBotPeaches/apktool/downloads/),将下载的最新.jar文件重命名为apktool.jar(例如:apktool_2.4.0.jar改为apktool.jar  "mv apktool_2.4.0.jar apktool.jar")

https://bitbucket.org/iBotPeaches/apktool/downloads/

3、将apktool和apltool.jar放置到/usr/local/bin目录下("mv /home/administrator/Downloads/apktool .")
4、更改文件权限
#su
#chmod 755 /usr/local/bin/apktool
#chmod 755 /usr/local/bin/apktool.jar
5、检查apktool环境:
#apktool -version

七、安装aapt工具
1、解压第六步下载的apktool.jar解压,提取解压后apktool/prebuilt/linux/目录下的aapt文件 (1."cp apktool.jar apktool.zip"2."unzip apktool.zip" )
2、将aapt放置到/usr/local/bin
3、设置权限:
#chmod 755 /usr/local/bin/aapt
 4、验证aapt环境:
#aapt version

手机配置

Android device configuration

  1. Factory data reset the device: Settings > Backup & reset > Factory data reset.

    Warning: This reset erases all user data from the device.

  2. Set your device's language to English (United States): Settings > Language & input > Language.

  3. If the device supports customizing default fonts, set the default sans-serif font family to Roboto (the default sans-serif font family used in AOSP builds).

  4. Turn on the location setting if there's a GPS or Wi-Fi/cellular network feature on the device: Settings > Location > On.

  5. Connect to a Wi-Fi network that supports IPv6, can treat the DUT as an isolated client (see Physical environment above), and has an internet connection: Settings > Wi-Fi.

  6. Make sure that no lock pattern or password is set on the device: Settings > Security > Screen lock > None.

  7. Enable USB debugging on your device: Settings > Developer options > USB debugging.

    Note: On Android 4.2 or higher, Developer options is hidden by default. To make it available, go to Settings > About phone and tap Build number seven times. Return to the previous screen to find Developer options. See Set up a device for development for additional details.

  8. Set the time to 12-hour format: Settings > Date & time > Use 24-hour format > Off.

  9. Set the device to stay awake: Settings > Developer options > Stay Awake > On.

  10. In Android 5.x and 4.4.x only, set the device to allow mock locations: Settings > Developer options > Allow mock locations > On.

  11. In Android 4.2 or higher, turn off USB app verification: Settings > Developer options > Verify apps over USB > Off.

  12. In Android 13 or higher, set the device to allow mock modem: Settings > Developer options > Allow Mock Modem > On.

    Note: On Android 13 or higher, Telephony added some CTS tests which use a mock modem instead of a real modem. This setting needs to be enabled on user builds to pass the CTS tests need the mock modem.

  13. Launch the browser and dismiss any startup/setup screen.

  14. Connect the desktop machine that will be used to test the device with a USB cable.

    Note: When you connect a device running Android 4.2.2 or higher to your computer, the system shows a dialog asking whether to accept an RSA key that allows debugging through this computer. Select Allow USB debugging.

  15. Before running CTS, set Roboto2 as the sans-serif font using a user accessible affordance (not hidden) setting.

安卓设备配置
出厂数据重置设备:设置 > 备份和重置 > 出厂数据重置。

警告:此重置会清除设备中的所有用户数据。
将设备的语言设置为英语(美国):设置 > 语言和输入法 > 语言。

如果设备支持自定义默认字体,请将默认sans-serif字体系列设置为Roboto (AOSP 构建中使用的默认sans-serif字体系列)。

如果设备上有 GPS 或 Wi-Fi/蜂窝网络功能,请打开位置设置:设置 > 位置 > 开。

连接到支持 IPv6 的 Wi-Fi 网络,可以将 DUT 视为独立的客户端(请参阅上面的物理环境),并具有互联网连接:设置 > Wi-Fi 。

确保设备上没有设置锁定图案或密码:设置 > 安全 > 屏幕锁定 > 无。

在您的设备上启用USB 调试:设置 > 开发人员选项 > USB 调试。

注意:在 Android 4.2 或更高版本上,开发者选项默认处于隐藏状态。要使其可用,请转到“设置”>“关于手机” ,然后点击内部版本号七次。返回上一屏幕以找到开发人员选项。有关更多详细信息,请参阅设置用于开发的设备。
将时间设置为 12 小时制:设置 > 日期和时间 > 使用 24 小时制 > 关闭。

将设备设置为保持清醒:设置 > 开发者选项 > 保持清醒 > 开启。

仅在 Android 5.x 和 4.4.x中,将设备设置为允许模拟位置:设置 > 开发人员选项 > 允许模拟位置 > 开。

在Android 4.2 或更高版本中,关闭 USB 应用程序验证:设置 > 开发人员选项 > 通过 USB 验证应用程序 > 关闭。

在Android 13 或更高版本中,将设备设置为允许模拟调制解调器:设置 > 开发人员选项 > 允许模拟调制解调器 > 开启。

注意:在 Android 13 或更高版本上,Telephony 添加了一些使用模拟调制解调器而不是真实调制解调器的 CTS 测试。需要在用户构建上启用此设置才能通过 CTS 测试需要模拟调制解调器。
启动浏览器并关闭任何启动/设置屏幕。

使用 USB 数据线连接将用于测试设备的台式机。

注意:当您将运行 Android 4.2.2 或更高版本的设备连接到您的计算机时,系统会显示一个对话框,询问是否接受允许通过此计算机进行调试的 RSA 密钥。选择允许 USB 调试。
在运行 CTS 之前,使用用户可访问的可见性(非隐藏)设置将 Roboto2 设置为无衬线字体。


 八、VTS环境(若测试CTS/CTS-ON-GSI/GTS/STS无需配置此项)
1、Install Python development kit:
#sudo apt-get install python-dev
2、Install Protocol Buffer tools (for Python):
#sudo apt-get install python-protobuf
#sudo apt-get install protobuf-compiler
3、Install Python virtual environment-related tools:
#sudo apt-get install python-virtualenv
#sudo apt-get install python-pip
//更新到最新
#sudo pip install --upgrade pip 
#sudo pip install --upgrade virtualenv
4、(Optionally) Download Python packages from PyPI to a local directory:
(1) 在合适位置建立VTS_PYPI_PATH文件夹("mkdir VTS_PYPI_PATH")
(2) 将VTS_PYPI_PATH路径加入环境变量后配置环境
复制代码
#sudo gedit ~/.bashrc
//打开文件后,末尾添加如下信息(VTS_PYPI_PATH路径改成实际路径):
export VTS_PYPI_PATH=/home/amlogic/VTS_PYPI_PATH
//保存退出后,使环境生效 
#source ~/.bashrc
#curl https://android.googlesource.com/platform/test/vts/+/master/script/pip_requirements.txt?format=TEXT | base64 -d > pip_requirements.txt
#pip download -d $VTS_PYPI_PATH -r pip_requirements.txt --no-binary protobuf,grpcio,matplotlib,numpy,Pillow,scipy(报错使用 "python -m pip install -U --force-reinstall pip")
复制代码
九、开始测试(以CTS为例)
下载https://source.android.com/docs/compatibility/cts/downloads (CTS)
3、将下载得到的Android 13 R3 Compatibility Test Suite (CTS) - ARM解压得到android-cts文件夹,进入tools文件目录下运行./cts-tradefed

你可能感兴趣的:(Android13,GMS,android,ubuntu)