HOME 首页
SERVICE 服务产品
XINMEITI 新媒体代运营
CASE 服务案例
NEWS 热点资讯
ABOUT 关于我们
CONTACT 联系我们
创意岭
让品牌有温度、有情感
专注品牌策划15年

    androidapkfree

    发布时间:2023-03-19 10:18:33     稿源: 创意岭    阅读: 116        问大家

    大家好!今天让创意岭的小编来大家介绍下关于androidapkfree的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。

    开始之前先推荐一个非常厉害的Ai人工智能工具,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等

    只需要输入关键词,就能返回你想要的内容,越精准,写出的就越详细,有微信小程序端、在线网页版、PC客户端

    官网:https://ai.de1919.com

    本文目录:

    androidapkfree

    一、APK安装(一)—— PMS原理分析

    在 APK安装概述 中曾提及apk有四种安装场景,但无论是哪一种方式,最终会提交给 PackageManagerService 处理,只是前置的处理链路 不同,所以本篇先对 PMS 这一主要过程进行分析。 frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java 【基于Android 9.0】

    1、对特定的一些系统进程信息进行设置处理,并保存到 Settings

    2、解析 /etc/permissions 下相关xml文件取得系统相关权限、系统具备的相关功能等信息

    3、解析 /data/system/package.xml 文件获取已安装应用的相关信息

    4、对相关的 apk 和 jar 进行 dex 优化处理,主要是 /system/framework 目录下的相关jar和apk

    5、依据 sharedUserId 这个配置来确定 apk 运行在哪个进程,然后把运行的相关进程信息加入到 Settings 中,使得系统可以知道每个 apk 运行在哪个进程中

    6、解析 AndroidManifest.xml 文件,提炼文件中的节点信息

    7、扫描本地文件,主要针对系统应用、本地安装应用等等

    8、管理本地 apk ,包括安装、删除等

    前面说到 APK 的信息会提交给 PMS 进行安装的一系列工作,具体是通过 PackageHandler 发送消息来驱动 APK 的复制和安装,其时序图如下:

    上相过程中有几点需要说明:

    1、在 installStage 方法中创建了 InstallParams 对象,它对应于包的安装数据,并创建 INIT_COPY 消息并发送给 PackageHandler 进行处理;

    2、 PackageHandler 在处理 INIT_COPY 消息时,会先判断是否绑定了 DefaultContainerService ,这是用于检查和赋值可移动文件的服务,比较耗时,所以和 PMS 并没有运行在同一个进程中,它们之间通过 IMediaContainerService 进行 IPC 通信,没有绑定则会进行绑定,之后

    DefaultContainerConnection 同样是定义在 PMS 中,执行链路如下:

    3、发送 MCS_BOUND 消息时,根据发送的 Message 是否带 Object 分为两种,如下所示:

    4、 MCS_BOUND 消息的处理:

    HandlerParams PMS 中的抽象类,它的实现类为 PMS 的内部类 InstallParams HandlerParams startCopy 方法如下所示:

    PackageManagerService.java#HandlerParams

    注释① 处调用抽象方法 handleStartCopy ,具体实现在 InstallParams 中,如下所示:

    PackageManagerService.java#InstallParams

    1、 注释① 处确定了 APK 的安装位置。

    2、 注释② 处创建 InstallArgs 对象,此对象是一个抽象类,定义了 APK 的复制和重命名APK等安装逻辑,在 Android 8.x 及之前的版本中有三个子类: FileInstallArgs、AsecInstallArgs、MoveInstallArgs 。其中 FileInstallArgs 用于处理安装到非ASEC的存储空间的APK,即内部存储空间(Data分区); AsecInstallArgs 用于处理安装到ASEC(mnt/asec)即SD卡中的APK; MoveInstallArgs 用于处理已安装APK的移动的逻辑;但在 Android 9.x 之后已经去掉了 AsecInstallArgs

    3、 注释③ 处调用 InstallArgs copyApk 方法,这里以 FileInstallArgs 的实现为例,内部会调用 FileInstallArgs doCopyApk 方法:

    1、 注释① 处用于创建临时存储目录,比如 /data/app/vmdl18300388.tmp ,其中 18300388 是安装的 sessionId

    2、 注释② 处通过 IMediaContainerService 跨进程调用 DefaultContainerService copyPackage 方法,这个方法会在 DefaultContainerService 所在的进程中将 APK 复制到临时存储目录,比如 /data/app/vmdl18300388.tmp/base.apk ,至此 APK 的复制工作结束。

    在上述 APK 的赋值调用链的过程中,在 HandlerParams startCopy 方法中,会调用 handleReturnCode 方法,时序图如下:

    PackageManagerService#handleReturnCode :

    注释① 处检查APK的状态,在安装前确保安装环境的可靠,如果不可靠会清除复制的APK文件, 注释③ 处会检测是否安装成功,失败则删除安装相关的目录和文件。安装完成之后在 注释⑤ 处会发送 POST_INSALL 消息通知已安装完成,此处稍后会说明。

    注释② 处的 installPackageTracedLI 会调用 PMS installPackageLI 方法:

    PackageManagerService.java#installPackageLI :

    这里需要说明几点:

    1、 注释③ 处,会先检测 Settings 中保存有要安装的 APK 信息,则说明安装该 APK ,因此需要检验APK 的签名信息,确保安全的进行替换。

    2、 注释④ 处,会对临时文件重新命名,例如 /data/app/vmdl18300388.tmp/base.apk ,重命名为 /data/app/包名-oONlnRRPYyleU63AveqbYA==/base.apk 。新的包名后面带上的一串字母和数字的混合字符串,是使用MD5的方式对随机生成的16个字符进行加密之后的产物。

    3、 注释⑤ 处,根据 replace 来做区分,如果是替换安装就会调用replacePackageLIF方法,其方法内部还会对系统APP和非系统APP进行区分处理,如果是新安装APK会调用installNewPackageLIF方法

    PackageManagerService.java#installNewPackageLIF

    在上面 processPendingInstall 方法的源码分析中,在 注释⑤ 处会发送 POST_INSTALL 消息通知安装完成,那么接下来就来具体看一看在 PackageHandler 中是怎么处理这个消息的。

    以上为主要的方法摘要,具体可总结为:

    1、第一步:这里主要是先将安装信息从安装列列表中移除,这个也是前面在processPendingInstall中添加的

    2、第二步:安装成功后,获取运行时权限

    3、第三步:获取权限后,发送ACTION_PACKAGE_ADDED广播,告诉Laucher之流,更新icon

    4、第四步:如果是升级更新则在发送两条广播

    5、第五步:如果安装包中设置了PRIVATE_FLAG_FORWARD_LOCK或者被要求安装在SD卡上,则调用sendResourcesChangedBroadcast方法来发送一个资源更改的广播

    6、第六步:如果该应用是一个浏览器,则要清除浏览器设置,重新检查浏览器设置

    7、第七步:强制调用gc,出发JVM进行垃圾回收操作

    8、第八步:删除旧的安装信息

    9、回调回调 IPackageInstallObserver2 的 packageInstalled 方法。告诉 PackageInstaller 安装结果。从而实现了安装回调到UI层

    上述几部分大致说明 PMS 处理 APK 的主要步骤,可总结如下:

    1、当 PackageInstaller APK 的信息提交给 PMS 处理, PMS 会通过向 PackageHandler 发送消息来驱动 APK 的复制和安装工作

    2、 PMS 发送 INIT_COPY MCS_BOUND 类型的消息,控制 PackageHandler 来绑定 DefaultContainerService 来完成 APK 的复制等工作

    3、复制 APK 完成之后,则开始进行安装 APK 的流程,包括安装前的检查、安装 APK 和安装后的收尾工作。

    [ 1 ] https://maoao530.github.io/2017/01/18/package-install/

    [ 2 ] https://blog.csdn.net/yiranfeng/article/details/103941371

    [ 3 ] http://liuwangshu.cn/framework/pms/3-pms-install.html

    [ 4 ] https://www.freesion.com/article/5119749905/

    [ 5 ] https://www.jianshu.com/p/9ddb930153b7

    二、zte机顶盒如何安装当贝市场

    中兴机顶盒安装第三方软件需要先绿色,接下来详细说下最新的中兴盒子(B860AV1.1、B860AV1.2、B860AV1.1-T2、B860AV2.1等)等所有设置中带有运维调试,可ADB调试打开盒子的绿色整个流程,以下方法在“中兴B860AV1.1-T2”亲测可用,其他型号(不包括老版B860A)理论也可通用:

    1、准备工具

    ADB组件下载:http://cdn.tvapk.com/zndsjc/adb.zip

    最新ADB密码计算器下载:http://cdn.tvapk.com/zndsrom/app/zikaikeji.apk

    2、软件下载

    当贝市场(点击立即下载)、当贝桌面(点击立即下载)、当贝影视快搜(点击立即下载),下载完成后分别重命名为1.apk、2.apk、3.apk,然后拷贝到U盘的app文件夹(没有就创建),然后插入机顶盒的任意USB接口;

    3、将下载好的ADB组件解压到C盘的根目录;

    接着找一台安卓手机,将最新的ADB密码计算器安装上(如果没有安卓手机或平板,也可以电脑安装一个“靠谱天天模拟器”)

    4、进入中兴盒子的设置,一般密码为:6321或运营商的号码(10086、10000、10010),连接wifi(机顶盒和电脑处于同个网段),接着选择运维调试—打开ADB调试,然后运行ADB密码计算器,将对应的MAC地址与随机数填入,这里需要注意,如果随机数是不带C的就选第一个“计算20170106”,如果随机数是带C的就选择“计算20180207”,然后将计算的密码填入,成功激活ADB!

    5、回到电脑操作,按下键盘快捷键“WIN+R”,输入“cmd”确定,进入命令终端,

    注意:命令可以通过鼠标右键进行粘贴到命令窗口,不用自己一个个手打,也不推荐,除非标蓝的命令需要手打;

    接着依次输入以下标红命令(固定命令,不可更改),标蓝的需要根据自己的实际情况做出更改,不可直接复制:

    C:\Users\mayn>cd c:/adb

    c:\adb>adb connect 192.168.0.101(不要以我的为准,输入自己盒子的IP)

    * daemon not running. starting it now on port 5037 *

    * daemon started successfully *

    connected to 192.168.0.101:5555

    adb shell

    1|shell@square:/ $ setprop config.Android.AppInstallCtrl 3

    setprop config.Android.AppInstallCtrl 3

    255|shell@square:/ $ su

    su

    shell@square:/ # mount -o remount -o rw /system

    mount -o remount -o rw /system

    shell@square:/ # echo "setprop config.Android.AppInstallCtrl 3" >> /system/bin/init.zte.post_boot.sh

    pInstallCtrl 3" >> /system/bin/init.zte.post_boot.sh <

    shell@square:/ # echo "start adbd" >> /system/bin/init.zte.post_boot.sh

    echo "start adbd" >> /system/bin/init.zte.post_boot.sh

    shell@square:/ # echo "adbd&" >> /system/bin/init.zte.post_boot.sh

    echo "start adbd" >> /system/bin/init.zte.post_boot.sh

    1|shell@square:/ # df

    df

    Filesystem Size Used Free Blksize

    /dev 495.0M 128.0K 494.9M 4096

    /sys/fs/cgroup 495.0M 0.0K 495.0M 4096

    /mnt/asec 495.0M 0.0K 495.0M 4096

    /mnt/obb 495.0M 0.0K 495.0M 4096

    /tmp 495.0M 792.0K 494.2M 4096

    /var 495.0M 468.0K 494.5M 4096

    /system 991.9M 482.1M 509.8M 4096

    /cache 743.9M 336.1M 407.8M 4096

    /data 5.0G 198.3M 4.8G 4096

    /data/var 495.0M 0.0K 495.0M 4096

    /mnt/shell/emulated 5.0G 198.3M 4.8G 4096

    /mnt/media_rw/sda 10.0M 0.0K 10.0M 4096

    /storage/sda 10.0M 0.0K 10.0M 4096

    /mnt/media_rw/sda/part1 7.5G 3.4G 4.0G 32768

    /storage/sda/part1 7.5G 3.4G 4.0G 32768

    (U盘路径判断方法:一般在输入df后最后一行,然后看内存的大小是否差不多即可,可以看到这个7.5G就是我的U盘,路径为前面的“/storage/sda/part1”)

    shell@square:/ # cd /storage/sda/part1(注意,不同的型号U盘路径不同,以自己的路径为准)

    cd /storage/sda/part1

    shell@square:/storage/sda/part1 # cd app

    cd app

    shell@square:/storage/sda/part1/app # ls

    ls

    1.apk

    2.apk

    3.apk

    shell@square:/storage/sda/part1/app # cp *.apk /data/app

    cp *.apk /data/app

    shell@square:/storage/sda/part1/app # am start com.dangbei.tvlauncher

    am start com.dangbei.tvlauncher

    Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] pkg=com.dangbei.tvlauncher }

    shell@square:/storage/sda/part1/app #

    这样整个流程就全部走完了,将盒子接上电视,进入当贝桌面,命令中已经允许安装未知应用,并且开机自启动ADB,这样进入当贝市场就可以在线下载安装自己需要的软件!

    三、android源码被混淆了怎么还原

    android源码被混淆了还原方法为:

    1、得到 classes.dex文件;直接用机器上的解压软件 打开 .apk 文件,解压出 classes.dex 文件。

    2、还原.jar文件;这一步需要用到一个工具 dex2jar (谷歌的代码库里有http://code.google.com/p/dex2jar/)下载完了,解压,然后把第一步的 产物(即那个classes.dex文件)放到 dex2jar的解压目录(解压目录里 有 dex2jar.bat 文件,检查一下,没有的话说明目录不对)。

    3、查看.jar文件;这一步就是传统的 反编译 了,需要工具辅助,这里用到的工具是jd-gui(http://java.decompiler.free.fr/?q=jdgui)下载系统对应的版本,解压,(xp系统)会看到一个 .exe文件,没错就是 单文件绿色版,双击,选择 第二步 生成的 .jar,即可。

    四、Android认证包括什么?android认证只包括GMS认证吗?

    GMS综述

    GMS认证,一般要求我们提供CTS, XTS, Verify三份测试报告,如下图:

    androidapkfree

    Bin: 认证的软件

    CTS: CTS的测试报告

    GTS: XTS的测试报告

    ctsVerifierReports: Verify测试报告

    CTS:

    CTS(全称“Compatibility Test Suite”,即“兼容性测试包”)的认证,这是一组用以测试的.apk程序之类的集合,它能够在官网(http://source.android.com/compatibility/downloads.html)上面免费下载。CTS的目的就是让Android设备(如:手机)开发商能够开发出兼容性更好的Android设备。 GTS:

    GMS全称为Google Mobile Service,即谷歌移动服务。GMS是Google开发并推动Android的动力,也是Android系统的灵魂所在。 Verify:

    CTS都是指令自动测试,但是还有一些测试是必须手动完成的,这个是verify测试就是手动测试。

    1.准备资料:

    GMS认证的视频文件—android-cts-media-1.0.zip:

    使用方法一:

    新建test文件夹(内有bbb_full,bbb.short,copy_media.sh,make_zip.sh,README.txt ),手机需拷贝android-cts-media-1.0.zip解压到test目录中(在不支持存储空间的情况下,使用T卡替代)

    使用方法二:

    进入android-cts-media-1.1目录下,执行:

    . /copy_media.sh all,或./copy_media.sh

    就可以把视频复制手机上了,非常的方便和快。 android-cts文件

    解压android-cts-4.4_r1-linux_x86-arm.zip CtsDeviceadmin.apk

    此apk位于(android-cts epository estcases)目录下 android-gts文件

    解压gts-2.1_r1.zip CtsVerifier.apk

    ( 解压android-cts-verifier-4.4_r3-linux_x86-arm.zip)

    这些资料可以从官网上下载:

    http://source.android.com/compatibility/downloads.html(官网)

    也可以是客户提供。

    2.手机端准备

    Need insert empty SD card Insert valid SIM card 设置手机语言为英语:进入Settings–Language&input–Language设为English(UnitedStates) 输入法默认使用android输入法,Settings–Language&input–Default—English(US) 手机软件需是User版本(请用adb remount命令查看),需写IMEI(请按*#06#查看)、MAC码(settings–about phon–statu–wlan mac address) 去掉锁屏(Settings –Security –Screen lock–none ) 设置屏幕超时为最长时间30分钟(Settings–Display–Sleep–30minutes) 进入Settings–Date & time–取消Automatic date&time勾选,取消Automatic time zone 勾选, Select time zone,选择GMT-8:00 Pacific Time (注:当实行夏令时后,Pacific Tim会变成GMT-7:00) 打开developer options,Settings–About phone–快速点击Build number 7次 Settings–developer options–stay awake and usb debugging allow mock locations 勾选 打开WIFI并连接AP(需要可翻墙的网络,因为测试过程中需要连接google的服务器) 打开蓝牙,Settings–Bluetooth 打开GPS,Settings—Location—开启 打开数据连接,下拉状态栏—选中Data on 安装CtsDeviceadmin.apk

    可以复制到sd卡上再安装,也可以使用命令安装:adb install ‘/home/android/CTS_hexiaoming/hexiaoming/CtsDeviceAdmin.apk’ 将test文件夹复制到sd卡上,也可以使用命令:

    adb push ‘/home/android/CTS_hexiaoming/hexiaoming/test’ /sdcard/test

    (或者进入到android-cts-media-1.1目录下,执行:

    . /copy_media.sh all,或./copy_media.sh) Settings—Security–Device administrators–勾选上 device administrators列表前三个选项,最后一个不勾选 运行时让屏幕是home主界面上 运行过程中不要触摸屏幕及按钮

    注意:

    - While a device is running tests, it must not be used for any other tasks

    - Before start CTS, device at the home screen

    - Do not press any keys on the device while CTS is running

    - Make sure the AP is usability and connectedly.

    - Make sure USB cable is stability

    3.PC端:(Ubuntu系统)

    3.1 CTS测试

    android-cts文件(解压)

    1. 用USB线连接Linux PC

    2.打开终端,进入android-cts/tools目录,输入./cts-tradefed.终端显示:

    androidapkfree

    (如果没有这行,说明设备没有和PC连通)

    3.输入run cts–plan CTS,开始测试CTS

    4.测试完成后会自动生成xml报表,在anroid-cts/repositZhttp://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcnkvcmVzdWx0c8S/wrzW0Ch0ZXN0UmVzdWx0LnhtbCkuPGJyIC8+DQo1LkxPR9DFz6LU2sS/wrzPwqO6KGFuZHJvaWQtY3RzIGVwb3NpdG9yeWxvZ3MpPC9wPg0KPHA+PHN0cm9uZz7Su7Djx+m/9qOsQ1RTsuLK1NK7tM6yu8TcyKuyv82ouf2jrMTHw7TI57rO1ruy4srURmFpbM/uwcujvzwvc3Ryb25nPjwvcD4NCsrWtq/Q3rjEdGVzdFJlc3VsdC54bWyjrMq508NnZWRpdLTyv6q4w87EvP4oZ2VkaXQgdGVzdFJlc3VsdC54bWwpoaMNCjxwPtGh1PGy6dXSy9HL92ZhaWxlZM/uo6zM5ru7zqpub3RFeGVjdXRlZKOsyLu687GjtOajrMjnzbyjujxiciAvPg0KPGltZyBhbHQ9"这里写图片描述" src="http://www.2cto.com/uploadfile/Collfiles/20150728/2015072808544242.png" title="/" />

    重新输入./cts-tradefedcts-tf-> run cts–continue-session session_id

    PS: session_id可以通过在CTS命令行里输入l r查看到。比如输入l r查看到的session_id为0那就应该在CTS的命令行输入 run cts –continue-session 0这样就会只会继续测试那些之前fail的项而不会去测试那些已经pass的项

    我们如何修改报告

    对于有的测试项,我们没有环境,过不了。但是我们可以确定此项可以pass,那么我们可以直接修改报告:

    我们在改报告的时候,参考要修改的测试项的前一个pass项和后一个pass项,对应修改就可以了,非常的简单。修改后,我们再让其重新跑一下,生成新的测试报告就可以。

    如果,我们单独跑包或类:

    To run a test package:

    ‘run cts –package ’

    run cts -p android.os

    To run a test class:

    ‘run cts –class ’

    run cts -c android.app.cts.SystemFeaturesTest -m testSensorFeatures

    run cts -c android.os.cts.Asyn

    查看更多cts命令信息:

    ‘run cts –help’

    l p————查看有那些功能

    l packages——查看有那些包

    注意事项:

    1.CTS 4.0的命令和CTS 2.3/2.3完全不同,所以在进入CTS后,先输入help看看命令的格式和意思。

    2.正常测试一次CTS4.0,需要6-9小时。所以,测试时请接上电源,并尽量在晚上测试,不会影响设备的使用

    3.CTS是自动化测试,测试过程中不需要人的干预。如果在上班时间,每1-2小时观察下即可

    4.CTS4.0在测试过程中断开、终止都不会生成测试报告,所以,测试前要保证USB连接稳定和平台设置

    5.CTS执行run cts–plan CTS时,会搜索android-cts/repository/results中的历史报表文件夹。如果文件有很多,启动速度会非常慢。所以,请定期清理results文件夹中的历史报表(直接删除报表文件夹即可)

    常见问题:

    有时,复制会导致一些权限问题,这时,我们可以运行sudo chmod 0777 filename来提高权限。 CTS测试 快速入门—-MTK—非常重要

    https://onlinesso.mediatek.com/_layouts/15/mol/topic/ext/Topic.aspx?id=53

    3.2 XTS测试:

    android-gts文件(解压gts-2.1_r1.zip)

    XTS测试和CTS是一样的,只是要把命令稍微对应的改一下就可以了:

    run xts–plan XTS

    run xts–continue-session session_id

    run xts -p android.os

    run xts -c android.app.cts.SystemFeaturesTest -m testSensorFeatures

    3.3 手动测试 CTS-verifier:

    CtsVerifier.apk—-( 解压android-cts-verifier-4.4_r3-linux_x86-arm.zip)

    这个是手动测试,我们只需要安装此apk,然后按照说明一步一步操作就可以了。最后,我们导出报告。

    androidapkfree

    注意的事情:

    这个测试还是有测试顺序的,一般Policy Serialization Test 这个测试项最后一个测试,因为此项会导致后面的Keyguard Password Verification项过不了。我们可以一开始就测试Keyguard Password Verification,最后一个测试Policy Serialization Test。 Camera的测试项,我们要一个一个测试,不能直接按pass直接过,就是因为测试的报告里有这些测试项的详细信息。 在测试Accelerometer Measurement Tests项前,我们在settings—Sound—Default notification sound选择一个默认值,否则有可能因为此没有设置,apk会crash,此项过不了。 Streaming Video Quality Verifier测试项中,RTSP的三项,有wifi的话可以过,但是HTTP PROGRESSIVE的三项是过不了的。也就是说Streaming Video Quality Verifier测试项是过不了的,这是正常的现象。

    USB Accessory Test有时候执行命令,是没有效果,这个有可能是电脑的原因,换台电脑多试几次。

    USB Accessory Test in CTS Verifier, Please follow up below steps to test this item:

    1) Install CTSVerifier.apk to the phone device.

    2) Add “18d1:2d01” device to /etc/udev/rules.d/51-android.rules, and restart

    About add “18d1:2d01” device to /etc/udev/rules.d/51-android.rules,

    Please hlep to refer SOP part of “Setup CTS Environment (3/4)”

    Ubuntu 10.4

    New a udev configuration file for the usb and change the mode

    sudo touch /etc/udev/rules.d/51-android.rules

    sudo chmod a+rw /etc/udev/rules.d/51-android.rules

    Add the below string in 51-android-rules to setup the USB

    SUBSYSTEM==”usb”, ATTRS{idVendor}==”0bb4”, ATTRS{idProduct}==“0c03”, MODE=”0666“

    Restart the udev service to update the configuration

    sudo restart udev

    Restart the Ubuntu

    After connecting the Android device to the PC, type lsusb and you should see the below string if the connection is success:

    example:

    Bus 002 Device 002: ID 0bb4:0c03 High Tech Computer Corp.

    3) Connect the phone to a linux pc, with adb enabled

    4) Run cts-usb-accessory on linux PC, wait until “Found android device in accessory mode (18d1:2d01)

    5) Device will pop a prompt to cts-verifier, start the CTS Verifier and run USB Accessory test.

    6) make sure no other devices connnect to the PC.

    Bluetooth Test测试项,比较需要时间和耐心,要慢慢来操作。特别是BLE Client Test测试项更是如此。我们测试此项时,可以先记下mac地址(可以写一些简单的mac地址,如(11:11:11:11:11:11) mac地址要区分大小写,这个也要注意),这是因为此项一般要测好多次才能pass,每次都要求从头开始,每次都要输入mac地址。根据测试经验,一般4.BLE Reliable Write 这个才是此测试能否通过的关键,我一般是4.BLE Reliable Write在倒数第二步来测试,并且多输入几次信息(请不要每次只输入一个字母),直到另一部手机的Waiting on reliable write from client测试项显示绿色,才最后执行8.BLE Client Disconnect就可以通过此项测试。

    data backup test测试项:

    首先在cts verifier中随便进行一项测试,打开设置中的备份和恢复,点击 generate test data->ok

    adb shell bmgr enable true

    adb shell bmgr transport android/com.android.internal.backup.LocalTransport

    adb shell bmgr run

    adb uninstall com.android.cts.verifier

    adb install F:CTS4.0CTS4.0.3_r2apk4.0.3_r2CtsVerifier_4.0.3_r1.apk

    测试完,我们使用adb push命令将测试报告导出就可以了。

    adb pull /sdcard/ctsVerifierReports /home/android/tmp

    3.4 测试结果的一些注意:

    测试结果表头的问题,在文档中要求CTS和GTS中的设备信息的Build Fingerprint中的签名文件类型是release-key,也就是说,我们测试的软件版本的签名要使用release-key,如下图所示:

    androidapkfree

    在文档中要求GTS项的测试结果中的Properties属性应该包括ro.com.google.gmsversion、ro.com.google.clientidbase,并且有的客户对ro.com.google.clientidbase的名字是有要求的。如下图,就缺少ro.com.google.clientidbase的项。

    androidapkfree

    4 Fail项的处理

    给高通提case,给MTK提eservice,因为这个一般自己能解的比较少,主要还是要靠高通和MTK来解。 慢慢积累自己的fail项库 慢慢积累自己处理fail项的能力

    以上就是关于androidapkfree相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。


    推荐阅读:

    advantage的词根词缀(advantage词根词缀解析)

    南京有animate店吗(南京animate专柜还在吗)

    anyconnect加速器安卓下载(anyconnect加速器)

    小红书我收藏的在哪(小红书里我收藏的东西在哪里看)

    有谁推荐游戏麻将好玩(有谁推荐游戏麻将好玩的软件)