`
想不尽的念
  • 浏览: 24263 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Android M 解决XTS测试三方apk权限和sdk fail

阅读更多
  1 diff --git a/base/services/core/java/com/android/server/pm/PackageManagerService.java b/base/services/core/java/com/android/server/pm/PackageManagerService.java
  2 index 9af1605..cd1ddf3 100644
  3 --- a/base/services/core/java/com/android/server/pm/PackageManagerService.java
  4 +++ b/base/services/core/java/com/android/server/pm/PackageManagerService.java
  5 @@ -5634,12 +5650,43 @@ public class PackageManagerService extends IPackageManager.Stub {
  6          }
  7      }
  8
  9 +    private static final String XTS_PERM = "com.google.android.xts.permission";
10 +    private static final String[] WHITE_LIST = {
11 +            "com.package.name",
12 +    };
13      @Override
14      public ParceledListSlice<PackageInfo> getInstalledPackages(int flags, int userId) {
15          final boolean listUninstalled = (flags & PackageManager.GET_UNINSTALLED_PACKAGES) != 0;
16
17          enforceCrossUserPermission(Binder.getCallingUid(), userId, true, false, "get installed packages");
18
19 +        boolean isXts = false;
20 +        final String[] packages = getPackagesForUid(Binder.getCallingUid());
21 +        if (packages != null && packages.length > 0) {
22 +            if (packages[0].equals(XTS_PERM)) {
23 +                isXts = true;
24 +                Slog.w(TAG, "XTS, calling package -> " + packages[0] + ", is XTS: " + isXts);
25 +            }
26 +        }
27          // writer
28          synchronized (mPackages) {
29              ArrayList<PackageInfo> list;
30 @@ -5653,7 +5700,24 @@ public class PackageManagerService extends IPackageManager.Stub {
31                          pi = generatePackageInfoFromSettingsLPw(ps.name, flags, userId);
32                      }
33                      if (pi != null) {
34 +/* Modified for XTS
35                          list.add(pi);
36 + */
37 +                        boolean needToAdd = true;
38 +                        if (isXts) {
39 +                            for (int i=0; i<WHITE_LIST.length; ++i) {
40 +                                if (WHITE_LIST[i].equals(pi.packageName)) {
41 +                                    needToAdd = false;
42 +                                    Slog.w(TAG, "XTS, remove package: " + pi.packageName);
43 +                                }
44 +                            }
45 +                        }
46 +
47 +                        if (needToAdd) {
48 +                            list.add(pi);
49 +                        }
50                      }
51                  }
52              } else {
53 @@ -5661,7 +5725,24 @@ public class PackageManagerService extends IPackageManager.Stub {
54                  for (PackageParser.Package p : mPackages.values()) {
55                      PackageInfo pi = generatePackageInfo(p, flags, userId);
56                      if (pi != null) {
57 +/* Modified for XTS
58                          list.add(pi);
59 + */
60 +                        boolean needToAdd = true;
61 +                        if (isXts) {
62 +                            for (int i=0; i<WHITE_LIST.length; ++i) {
63 +                                if (WHITE_LIST[i].equals(pi.packageName)) {
64 +                                    needToAdd = false;
65 +                                    Slog.w(TAG, "XTS, remove package: " + pi.packageName);
66 +                                }
67 +                            }
68 +                        }
69 +
70 +                        if (needToAdd) {
71 +                            list.add(pi);
72 +                        }
73                      }
74                  }
75              }
分享到:
评论

相关推荐

    android XTS

    Android XTS是一个专门为Android系统设计的安全测试工具套件,它在Android开发和维护过程中起着至关重要的作用。XTS,全称是“eXtreme Test Suite”,它提供了丰富的功能来帮助开发者和安全专家深入检查Android系统...

    android-xts-windows.rar测试包(xts认证测试包)

    android xts测试包。用于高通GMS集成认证测试。 包含Linux跟windows下测试环境(自己写的,可用,独此一家)。 如果连接不上手机请把你的adb.exe放到C:\WINDOWS\system32目录下,或者将你的sdk-platform目录加入系统...

    android-xts-1.5_r1

    - **证书**:可能用于验证设备的身份和权限,以运行特定的测试。 运行GTS测试时,你需要一个支持ADB(Android Debug Bridge)的环境,并将设备或模拟器连接到电脑。通过命令行或者专门的测试执行工具,你可以启动...

    GoogleTV XTS测试之TVTS-环境配置篇

    总之,配置Google TV的XTS测试环境涉及多个步骤,从安装SDK到运行测试,再到解析结果和调试代码。通过严谨的测试,开发者可以确保他们的应用或服务在Google TV平台上运行良好,提供优质的用户体验。

    OpenHarmony xts测试培训

    OpenHarmony xts测试培训文档,培训openharmony的xts怎么做xts认证

    android xts问题方法总结

    android xts问题方法总结

    XTS3000写频教程

    本教程将详细阐述XTS3000的写频过程,帮助用户掌握如何设置和配置这款对讲机以满足特定通信需求。 1. **写频概述** 写频是指为对讲机设定频率、亚音频、扫描等功能的过程。对于XTS3000来说,写频是确保其与其它...

    XTS-AES可调分组密码

    XTS-AES模式同样解决了CBC(密码块链接模式)模式存在的一个问题,即如果数据块的一部分在传输过程中损坏或丢失,会导致整个数据块无法解密的问题。XTS-AES通过采用分组密码的工作模式和调整密钥的结合,允许加密...

    xts5000.r20固件.rar

    描述中提到,建议只有内存为8M的XTS5000设备才能刷入此固件,这意味着如果设备的内存只有4M,刷入新固件可能导致设备运行不稳定或无法正常工作。因此,在升级前,用户应确保自己的设备满足硬件要求,避免因不当操作...

    基于Python、HTML和Shell的testfwk_xdevice开发自测试与XTS认证测试基础库设计源码

    本项目为基于Python、HTML和Shell开发的自测试与XTS认证测试基础库设计源码,总文件量达134个,包括99个Python脚本、7个PNG图片、6个GIF动画、5个Markdown...该库旨在为开发自测试和XTS认证测试提供全面的解决方案。

    基于Python的test_xdevice开发自测试与XTS认证测试基础库设计源码

    该项目是采用Python语言开发的test_xdevice自测试与XTS认证测试基础库,包含87个文件,包括65个Python源文件、6个GIF图片文件、3个XML配置文件、2个...该项目旨在为开发者提供一套完整的自测试与XTS认证测试解决方案。

    摩托罗拉ASTRO Saber 和 XTS3000 机型对讲机写频软件

    摩托罗拉ASTRO Saber 和 XTS3000 机型对讲机写频软件 内涵两款软件: ASTRO_Saber_&_XTS3000_Depot_05.02.02 ASTRO_Saber_xts3000_cps_r050300 (推荐)

    xts300写频软件

    摩托罗拉XTS3000是一款广泛应用于公共安全、应急通信和专业无线电服务领域的对讲机设备。这款对讲机以其出色的性能、耐用性和可靠的通信能力而受到好评。"XTS3000写频软件"是针对该型号对讲机设计的专业配置工具,...

    写频软件xts3000

    XTS3000是一款专为专业无线电通信设计的写频软件,主要用于配置和管理ASTRO Saber系列的对讲机设备。这款软件允许用户自定义对讲机的各种功能,如频率设置、扫描列表、组呼叫配置等,以满足不同工作场景的需求。下面...

    XTS5000mod3UG中文使用说明书.pdf

    摩托罗拉天文XTS5000数字便携式收音机模型III是一种专门为专业通讯设计的无线对讲设备,该型号属于XTS系列,适用于满足FCC RF区域/频道能量暴露要求的职业用户。它提供了多个功能和按钮来控制和使用设备,如开关机/...

    摩托罗拉XTS5000说明书英文版

    摩托罗拉XTS5000是一款ASTRO®数字便携式无线电,属于Model III系列。该无线电设备是专门针对职业用途设计的,以满足FCC(美国联邦通信委员会)对无线电频率能量暴露的要求。在使用XTS5000对讲机之前,用户必须阅读...

    XTS2500手置频过程

    XTS2500手置频过程是摩托罗拉对讲机XTS2500进行手动设置频道频率的操作流程,对于专业用户来说是一项至关重要的技术。以下将详细阐述这一过程: 1. **基本按键操作**: - 1号键:作为返回或退出键,用于退回到上一...

    Astro+Saber+XTS3000+CPS+R05.03.00

    【Astro Saber XTS3000 ...总之,Astro Saber XTS3000 CPS R05.03.00是摩托罗拉解决方案提供的一款高度定制化和专业的无线电通信工具,通过CPS软件更新,可以优化设备性能,提高通信效率,同时确保设备安全和可靠性。

    摩托罗拉XTS5000对讲机说明书 英文版

    ### 摩托罗拉XTS5000对讲机关键知识点解析 #### 一、产品概述 摩托罗拉XTS5000是一款专为职业用途设计的高性能数字对讲机,支持VHF(甚高频)、UHF(特高频)范围1、范围2以及700至800MHz频段。该设备采用了先进的...

    XTS支付宝分布式事务学习指南汇编.pdf

    XTS支付宝分布式事务学习指南汇编.pdf

Global site tag (gtag.js) - Google Analytics