当前位置:首页 > 经验 >

手机白名单在哪里(手机白名单在哪里移除)

来源:原点资讯(www.yd166.com)时间:2022-10-25 08:53:20作者:YD166手机阅读>>

在实际定制开发中,往往有这样的客户需求:在白名单内的应用能允许安装,不在白名单的应用禁止安装,从而避免系统会被安装流氓软件。

我们都知道安卓系统应用安装都通过系统安装服务来完成--PackageManagerService

系统源码路径:frameworksaseservicescorejavacomandroidserverpmPackageManagerService.java

系统有4种应用的安装方式

1.系统预置应用安装---开机时完成,没有安装界面

2.通过网络应用市场下载应用安装---有安装界面

3.ADB工具安装---没有安装界面

4.第三方应用安装---通过SD卡里的APK文件安装,有安装界面,由packageinstaller.apk应用处理安装及卸载过程的界面

在系统安装应用期间,可以通过log跟踪源码的执行,你就会发现第三方应用的安装都会经过

PackageManagerService.java的installPackageLI函数处理

手机白名单在哪里,手机白名单在哪里移除(1)

installPackageLI函数

此函数作用就是检测安装包的信息以及完整,这里回到我所需要的安装判断条件---应用包名。在安装期间,通过预置应用白名单列表与获取到正在安装的应用包名实现对比,在列表中的不拦截,不在列表中的就直接退出。

预置白名单列表有两种方式:

第一种:通过在installPackageLI函数中提前写死白名单应该

第二种:通过在persist分区存储配置文件,可实现自由增加白名单

第一种方式没啥好解释了,就是提前准备好应该白名单,安装应用时进行包名对比,直接上代码:

boolean isWhiteListApp = false; String[] isWhiteListApppackageName = {" "com.xxx.xxx", "com.xxxx.xxx", "com.xxx.xxxx"}; for (int i = 0; i < isWhiteListApppackageName.length; i ) { if ((pkg.packageName != null) && (pkg.packageName.equals(isWhiteListApppackageName[i]))) { Slog.e(TAG, "Instant app package isWhiteListApp1" isWhiteListApppackageName[i]); isWhiteListApp=true; break; } } if (!isWhiteListApp) { Slog.e(TAG, "Instant app package 2 " pkg.packageName); res.setError(INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES, "Signature mismatch"); return; }

第二种方式,通过在系统预置WhiteListApp.conf文件,在安装过程中对比文件中的包名,实现安装拦截。

预置WhiteListApp.conf到persist分区,因为system_app可对这个分区进行读写,从而实现动态修改白名单应用。

WhiteListApp.conf内容如下:

com.xxx.xxx

com.xxx.xxx

代码块:

1、在installPackageLI添加逻辑判断: if(!isWhiteListApp(pkg.packageName)){ Log.d(TAG,"--isWhiteListApp--"); res.setError(PackageManager.INSTALL_FAILED_VERIFICATION_FAILURE, "this is not in the whitelist. packageName:" pkg.packageName); return; } 2、在PackageManagerService.java最后增加文件读取函数: private boolean isWhiteListApp(String packagename){ ArrayList<String> whiteListApp = new ArrayList<String>(); try{ BufferedReader br = new BufferedReader(new InputStreamReader( new FileInputStream("/mnt/vendor/persist/WhiteListApp.conf"))); String line =""; while ((line = br.readLine()) != null){ whiteListApp.add(line); } br.close(); }catch(java.io.FileNotFoundException ex){ return false; }catch(java.io.IOException ex){ return false; } Iterator<String> it = whiteListApp.iterator(); while (it.hasNext()) { String whitelistItem = it.next(); if (whitelistItem.equals(packagename)) { return true; } } return false; } 3、预置到系统,增加权限 PRODUCT_COPY_FILES = vendor/simcom/3rd-party/WhiteListApp.conf:persist/WhiteListApp.conf chown system system /mnt/vendor/persist/WhiteListApp.conf chmod 0664 /mnt/vendor/persist/WhiteListApp.conf

结语:

实现应用白名单的两种方式,各有优点,开发者可以择优选择。

,

栏目热文

手机黑白名单在哪设置(如何看手机黑白名单)

手机黑白名单在哪设置(如何看手机黑白名单)

平板管家--同意--右上角设置--智能维护--默认(开)--根据个人情况设置*--自动清理垃圾文件--默认(开)--根据...

2022-10-25 08:25:46查看全文 >>

手机找不到白名单设置(手机没有设置黑名单为什么)

手机找不到白名单设置(手机没有设置黑名单为什么)

不知道机友们对 Windows 的同年回忆是什么?蓝屏?雨林木风、大番茄、深度这些 Ghost 系统?还是开机提示音?还...

2022-10-25 08:38:56查看全文 >>

手机设置中的白名单有什么作用(手机白名单怎么设置为黑色名单)

手机设置中的白名单有什么作用(手机白名单怎么设置为黑色名单)

点击右上方“关注”,第一时间获取科技资讯、技能攻略、产品体验,私信我回复“01”,送你一份玩机技能大礼包。-------...

2022-10-25 08:22:34查看全文 >>

手机怎么设置白名单能打进来(自己手机没被设进白名单怎么设置)

手机怎么设置白名单能打进来(自己手机没被设进白名单怎么设置)

信息和大数据时代,我们每天都会接到无数骚扰电话,卖房、投资、理财、诈骗多种多样。为了避免骚扰,很多手机系统自身就集成了黑...

2022-10-25 08:11:45查看全文 >>

手机白名单在哪打开(手机白名单是自己添加的嘛)

手机白名单在哪打开(手机白名单是自己添加的嘛)

随着数字时代的到来,手机被广泛地渗透到社会生活的方方面面,我们支付要用它,出行要用它,就连通行查健康码也要用它,可以说手...

2022-10-25 08:15:33查看全文 >>

手机设置白名单会怎么样(手机的白名单在哪里设置)

手机设置白名单会怎么样(手机的白名单在哪里设置)

相信很多正在使用 iPhone 的差友,对 “ 越狱 ” 一定不会感到陌生。回想当年,地下城与勇士这游戏如日中天的时候,...

2022-10-25 08:51:08查看全文 >>

手机白名单黑名单设置在哪里(手机白名单黑名单在哪设置)

手机白名单黑名单设置在哪里(手机白名单黑名单在哪设置)

“请问你是XXX吗?我是XX金融,您是否在大学期间注册XX金融账号……”每隔一段时间就经常收到这类电话,挂断之后很快就能...

2022-10-25 08:16:32查看全文 >>

vivo手机软件白名单在哪里设置(vivo手机怎么把软件加入白名单)

vivo手机软件白名单在哪里设置(vivo手机怎么把软件加入白名单)

2、在设置—更多设置—应用程序—全部中找到该程序,点击进入程序的信息界面选择清除缓存和数据。3、建议在使用手机时,手机下...

2022-10-25 08:52:30查看全文 >>

切白切鸡的视频教程(白切鸡切法图片)

切白切鸡的视频教程(白切鸡切法图片)

祖籍梅州,明末先祖随将军入茂名剿匪,匪灭。明朝实行囤兵卫至于,于是乎祖留于茂名,传到现在已经300多年。祖上是客家人,所...

2022-10-25 08:26:10查看全文 >>

快手官方人工服务(快手人工服务从哪里找)

快手官方人工服务(快手人工服务从哪里找)

严厉打击蒙骗老铁,快手视频动真格的了,而且还专门设定了春节期间的人工服务电话,接收所有一切消费购物问题的解疑释惑及其产生...

2022-10-25 08:53:47查看全文 >>

文档排行