Android framework修改,禁止指定包名的apk安装到设备上(基于Android10.0.0-r41)

Android framework修改,禁止指定包名的apk安装到设备上(基于Android10.0.0-r41)

1.新增接口提供给上层调用

pms就是负责apk的安装和卸载,从pms入手

frameworks/base/core/java/android/content/pm/IPackageManager.aidl

在这里插入图片描述

//qfh add
    void pmList(in List<String> pkgNames);
    List<String> getPackageInfoList();
    //qfh end

自定义两个接口在aidl文件中,pmList主要设置要禁止安装的包名的列表,getPackageInfoList是获取包名列表

2.在pms中实现新增的接口

frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java

在pms中

在这里插入图片描述

    //qfh add
    private List<String> pkNames;
    @Override
    public void pmList(List<String> pkNames) {
   
   
        this.pkNames = pkNames;
 
<think>我们已经在之前的对话中提供了下载AOSP的步骤,现在用户明确要求使用清华大学镜像源初始化android-10.0.0-r41分支。因此,我们需要按照以下步骤进行:1.创建并进入目录(可选,但建议)2.使用repoinit命令指定清华大学镜像源和分支3.后续可能需要同步(reposync)注意:用户已经安装了repo工具和必要的依赖(假设已完成,否则需要先安装)根据引用[1]和引用[2],我们可以使用清华大学的镜像源,并且分支为android-10.0.0_r41(注意:在引用中分支名有时带下划线有时带短横,但实际应使用下划线。因为引用[1]中写的是android-10.0.0-r41,但引用[2]中写的是android-10.0.0_r41,而官方分支命名通常使用下划线。然而,在引用[1]中我们使用的是短横,而引用[2]中用的是下划线。这里要注意:在清华大学镜像的文档中,分支名是以下划线连接的,如android-10.0.0_rXX。因此,我们应该使用下划线版本。实际上,在repoinit命令中,分支名应该与镜像仓库中的分支名一致。清华大学镜像站AOSP的manifest仓库中,分支名是android-10.0.0_r41(见引用[2]中的示例命令)。所以,我们使用:repoinit-uhttps://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest-bandroid-10.0.0_r41步骤:1.创建目录并进入:mkdiraosp-android-10.0.0_r41cdaosp-android-10.0.0_r412.初始化仓库:repoinit-uhttps://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest-bandroid-10.0.0_r413.如果需要,可以修改repo的配置,例如设置镜像源(但这里已经指定了清华镜像,所以可以跳过)4.初始化完成后,执行同步(用户可能会问下一步,但用户当前问题只要求初始化,但通常初始化后需要同步):reposync注意:由于用户没有要求同步,所以我们可以先回答初始化部分,然后建议用户进行同步。另外,引用[4]提到切换分支的方法,不过当前是初始化,所以不需要切换。我们按照用户要求,只回答初始化步骤。但我们可以提示后续步骤。生成相关问题:1.初始化完成后如何同步AOSP源代码?2.初始化时指定的分支与镜像源有什么关系?3.如果初始化时出现错误如何解决?</think> 要在 Ubuntu 上使用清华大学镜像源初始化 Android 10.0.0_r41 分支的 AOSP 代码仓库,请按照以下步骤操作: ### 步骤指南 1. **创建并进入工作目录** ```bash mkdir android_10.0.0_r41 && cd android_10.0.0_r41 ``` 2. **初始化代码仓库** ```bash repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest \ -b android-10.0.0_r41 ``` 关键参数说明: - `-u`: 指定清华大学 AOSP 镜像源地址[^1][^2] - `-b`: 指定分支 `android-10.0.0_r41`[^1] 3. **验证初始化结果** 成功后会显示提示: ```bash repo initialized in /path/to/android_10.0.0_r41 ``` 4. **后续同步代码** ```bash repo sync -j$(nproc) # 使用所有CPU核心加速同步 ``` 说明: - 预计需要 150GB+ 磁盘空间 - `-jN` 参数可加速下载(N为CPU核心数)[^2][^3] ### 关键说明 1. 镜像源确保国内高速下载 2. 分支名称必须使用**下划线**格式:`android-10.0.0_r41`(不是短横线 `-r41`) 3. 不同分支切换参考:[如何切换Android版本](#)[^4] ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值