Android12 禁止adb安装应用(可开关)

Android车机开发,出于安全考虑会禁用usb口的部分功能。其中adb安装apk功能的禁用就很常见,因为使用“adb install 安装包.apk”命令安装无法控制被安装应用是否会读取用户隐私会带来什么破坏,所以风险很高!

以下是通过开关的方式设置是否允许adb安装。因为开关的key是自定义,非内部开发人员看不到。内部调试又可以方便的打开,所以没有直接禁用而是放入了prop开关。

涉及代码修改位置:

framwork/base/services/core/java/com/android/server/pm/PackageManagerShellCommand.java

+++ b/base/services/core/java/com/android/server/pm/PackageManagerShellCommand.java	(revision 0e11ffe77fee07402f84b4556da809741a6821a0)
@@ -1305,7 +1305,13 @@
 
     private int doRunInstall(final InstallParams params) throws RemoteException {
         final PrintWriter pw = getOutPrintWriter();
-
+        // add start
+        if(!SystemProperties.getBoolean("persist.install.app", false)){
+            Slog.w(TAG, "系统禁止安装apk!!");
+            pw.println("The system prohibits the installation of applications!");
+            return 1;
+        }
+        // add end
         final boolean isStreaming = params.sessionParams.dataLoaderParams != null;
         final boolean isApex =
                 (params.sessionParams.installFlags & PackageManager.INSTALL_APEX) != 0;

如上代码如有人通过adb install 安装命令,就会在控制台提示“The system prohibits the installation of applications!”。在调试过程中,开发人员可以通过命令adb setprop persist.install.app true来开启adb安装功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

写点啥呢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值