当前位置: 首页 > wzjs >正文

酷炫网站设计柳州网站建设找哪家

酷炫网站设计,柳州网站建设找哪家,娄底高端网站建设,长沙seo计费管理使用展锐提供的代码编译出来的固件&#xff0c;不包含DeskClock等应用。 之前也遇到过这个情况&#xff0c;只是时间太久忘记了&#xff0c;在这里再次记录&#xff01; frameworks/native/data/etc/android.app.remove.xml<?xml version"1.0" encoding"ut…

使用展锐提供的代码编译出来的固件,不包含DeskClock等应用。

之前也遇到过这个情况,只是时间太久忘记了,在这里再次记录!

frameworks/native/data/etc/android.app.remove.xml<?xml version="1.0" encoding="utf-8"?><permissions><customized-restricted-app config="persist.remove.app"  value="1"><!-- <path name="Messages"/><path name="messaging"/><path name="MessagesGo"/> --><path name="FMRadio"/><path name="SprdFMRadio"/><path name="DreamFMRadioPrebuilt"/><path name="DreamSoundRecorderPrebuilt"/><path name="Email2"/><path name="GMailGo"/><path name="GMailGo_1G"/><path name="Gmail2"/><path name="Gmail2_2G"/><path name="DeskClock"/>  需要去掉<path name="SprdDeskClock"/><path name="DeskClockGoogle"/><path name="SprdCalendar"/><path name="SprdCalendarProvider"/><path name="SprdCalendarProviderPrebuilt"/><path name="Calendar"/><path name="CalendarGoogle"/></customized-restricted-app>
</permissions>

然后记录一下原因。

首先日志检索  DeskClock 发现只有这么三行,很好定位到源码。

18:11:19.933 SystemConfig              D  readCustomizedRestrictedPathsByConfig DeskClock, apkType = 0
18:11:19.934 SystemConfig              D  readCustomizedRestrictedPathsByConfig SprdDeskClock, apkType = 0
18:11:19.935 SystemConfig              D  readCustomizedRestrictedPathsByConfig DeskClockGoogle, apkType = 0
 

         从xml文件中读取权限651     private void readPermissionsFromXml(File permFile, int permissionFlag) {652         FileReader permReader = null;653         try {654             permReader = new FileReader(permFile);655         } catch (FileNotFoundException e) {656             Slog.w(TAG, "Couldn't find or open permissions file " + permFile);657             return;658         }659         Slog.i(TAG, "Reading permissions from " + permFile);660 661         final boolean lowRam = ActivityManager.isLowRamDeviceStatic();662 663         try {664             XmlPullParser parser = Xml.newPullParser();665             parser.setInput(permReader);666 667             int type;668             while ((type=parser.next()) != parser.START_TAG669                        && type != parser.END_DOCUMENT) {670                 ;671             }682             final boolean allowAll = permissionFlag == ALLOW_ALL;686             final boolean allowAppConfigs = (permissionFlag & ALLOW_APP_CONFIGS) != 0;687             final boolean allowPrivappPermissions = (permissionFlag & ALLOW_PRIVAPP_PERMISSIONS)688                     != 0;689             final boolean allowOemPermissions = (permissionFlag & ALLOW_OEM_PERMISSIONS) != 0;690             final boolean allowApiWhitelisting = (permissionFlag & ALLOW_HIDDENAPI_WHITELISTING)698             while (true) {699                 XmlUtils.nextElement(parser);700                 if (parser.getEventType() == XmlPullParser.END_DOCUMENT) {701                     break;702                 }703 704                 String name = parser.getName();705                 if (name == null) {706                     XmlUtils.skipCurrentTag(parser);707                     continue;708                 }709                 switch (name) {
...可以看出customized-restricted-app就是获取xml文件中的name
1277                     case "customized-restricted-app": {
1278                         String config = parser.getAttributeValue(null, "config");
1279                         String value = parser.getAttributeValue(null, "value");
1280                         if (TextUtils.isEmpty(config) || TextUtils.isEmpty(value)) {
1281                             Slog.w(TAG, "Tag config" + config + " or value " + value + " in "
1282                                 + permFile + " at " + parser.getPositionDescription() + " is empty");
1283                             XmlUtils.skipCurrentTag(parser);
1284                         }
1285                         List<String> restrictedPermission = Arrays.asList(config, value);
1286                         mCustomizedRestrictedPaths.put(restrictedPermission,
1287                                 readCustomizedRestrictedPathsByConfig(parser));
1288 
1289                     } break;读取限制的xml文件
1676     private HashMap<String, Integer> readCustomizedRestrictedPathsByConfig(XmlPullParser parser)
1677             throws IOException, XmlPullParserException {
1678         HashMap<String, Integer> customizedRestrictedPaths = new HashMap<String, Integer>();
1679         int packageDepth = parser.getDepth();
1680         int type;
1681         int depth = parser.getDepth();
1682         while (XmlUtils.nextElementWithin(parser, depth)) {
1683             String tagName = parser.getName();
1684             if (tagName.equals("path")) {
1685                 String name = parser.getAttributeValue(null, "name");
1686                 Integer apkType = 0;
1687                 try {
1688                     apkType = Integer.valueOf(parser.getAttributeValue(null, "type"));
1689                 } catch (NumberFormatException e) {
1690                 }日志在这里打印
1691                 Slog.d(TAG, "readCustomizedRestrictedPathsByConfig " + name +
1692                         ", apkType = " + apkType);
1693                 customizedRestrictedPaths.put(name, apkType);
1694             } else {
1695                 Slog.w(TAG, "Unknown element under <customized-restricted-app>: "
1696                       + parser.getName());
1697             }
1698         }
1699         return customizedRestrictedPaths;
1700     }

然后检索一下 customized-restricted-app

来看一下定义

device/sprd/xxx/xxx/module/app/md.mk#add for not install unused app
PRODUCT_PRODUCT_PROPERTIES += persist.remove.app=1
PRODUCT_COPY_FILES += \frameworks/native/data/etc/android.app.remove.xml:product/etc/permissions/android.app.remove.xml


 


文章转载自:

http://tHWMXQuT.xxgfL.cn
http://VgMzwPv3.xxgfL.cn
http://WGX0Qgd0.xxgfL.cn
http://0jIYyAud.xxgfL.cn
http://wztM9ecy.xxgfL.cn
http://yl3kxVwW.xxgfL.cn
http://BeYF9diV.xxgfL.cn
http://dwFfHjHa.xxgfL.cn
http://mVlWM30U.xxgfL.cn
http://QsUHfOmb.xxgfL.cn
http://a40jhQjj.xxgfL.cn
http://6nyRTx6X.xxgfL.cn
http://L9CFe1qA.xxgfL.cn
http://hVqAoDJm.xxgfL.cn
http://D2YImVNE.xxgfL.cn
http://zRrfhq5H.xxgfL.cn
http://Bbq3nLFL.xxgfL.cn
http://0Jh9nMLX.xxgfL.cn
http://FWhKesDo.xxgfL.cn
http://ZUM2uuJy.xxgfL.cn
http://iYtiDzSI.xxgfL.cn
http://EEx38K4V.xxgfL.cn
http://hbWOWoLj.xxgfL.cn
http://jGRyGE7X.xxgfL.cn
http://IekX4fdZ.xxgfL.cn
http://s5loa6Md.xxgfL.cn
http://qZscamEE.xxgfL.cn
http://AJm8fs7L.xxgfL.cn
http://h7N8V5vF.xxgfL.cn
http://8S7KNqY8.xxgfL.cn
http://www.dtcms.com/wzjs/658492.html

相关文章:

  • 建设h网站风险大吗建设银行内部审批哪些网站
  • 物流公司网站建设模板网站开发中间商怎么做
  • 网站建站域名解析最后做个体户备案网站可以做企业站吗
  • 做网站租用数据库seo关键词优化推广
  • 做短视频的网站收益api接口开发网站开发
  • 青岛网站制作企业网站主体负责人和网站负责人
  • 广东君冠建设有限公司网站你会怎么做外国的网站吗
  • 网站怎么添加后台顺德公司做网站
  • 南京市住房和城乡建设部网站做电子商务网站 语言
  • 网站建设设计时代创信好引流推广app
  • 企业网站建设的主要内容登录邮箱wordpress
  • 红叶网站开发工作室怎样用word2003做网站
  • 手机怎么建设视频网站wordpress搭建镜像
  • 上传设计作品的网站西宁软件网站建设
  • 上海国际建设总承包公司网站单页网站seo
  • 怎么做百度快照让网站排前面青岛栈桥景点介绍
  • 整站关键词排名优化wordpress调用友情链接
  • 网站建设注意要点单位建设网站申请信用卡
  • 一个做炉石视频的网站小程序模板好还是源码好
  • 平阴县网站建设企业网络营销的推广方法
  • 西安高端网站制作北京网站建立公司
  • 推进网站集约化建设的做法wordpress改地址错误
  • jsp做网站的流程注册企业公司流程及费用
  • 企业网站建设新站个人是否可以申请持有网站
  • 推广的网站需要备案吗信息服务平台网站
  • 购买网站模板怎么用政务网站建设管理的论文
  • 多网站怎么做seo苏州做网站公司 速选苏州聚尚网络
  • 安康做网站公司大连在哪个省的什么位置
  • 阿里巴巴外贸订单网站重庆妇科医院排名前十
  • 西安鑫瀚通网站建设哪些网站页面简洁