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

建设制作网站国外搜索引擎排行榜

建设制作网站,国外搜索引擎排行榜,企业网站建设对企业的宣传作用,12389举报网站建设项目特权应用 官网说明 特权应用是位于系统映像某个分区上 priv-app 目录下的应用,如 system/priv-app/ 。 特权应用 相比安装在 system/app/ 目录的应用,具有更高的权限。基本都是系统预装,不可卸载。可以不是系统签名。 源码预制 源码下预…

特权应用 官网说明

特权应用是位于系统映像某个分区上 priv-app 目录下的应用,如 system/priv-app/

特权应用

  • 相比安装在 system/app/ 目录的应用,具有更高的权限。
  • 基本都是系统预装,不可卸载。
  • 可以不是系统签名。

源码预制

源码下预制到 priv 分区,根据编译规则配置即可。

Android.mk

配置 LOCAL_PRIVILEGED_MODULE := true ,如

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := LuoDemoLOCAL_MULTILIB := 32LOCAL_MODULE_CLASS := APPSLOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)LOCAL_CERTIFICATE := platformLOCAL_PRIVILEGED_MODULE := trueLOCAL_SRC_FILES := $(LOCAL_MODULE)$(COMMON_ANDROID_PACKAGE_SUFFIX)include $(BUILD_PREBUILT)include $(call all-makefiles-under,$(LOCAL_PATH))

Android.bp

配置 privileged: true

android_app {name: "LuoDemo",srcs: ["src/**/*.java"],certificate: "platform",privileged: true,platform_apis: true,static_libs: ["xz-java","androidx.leanback_leanback","androidx.appcompat_appcompat",],
}

privapp-permissions 权限配置

特权应用申请的特殊权限,需要在 xml 中声明权限。

如果不配置权限,机器预制特权应用,编译后开机可能会异常,常见的表现是:卡在开机Logo 或者 开机动画,无限重启
报错 log 中典型特征 Signature|privileged permissions not in privapp-permissions whitelist
完整log如下,

--------- beginning of crash
10-16 14:18:39.065  3151  3151 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: main
10-16 14:18:39.065  3151  3151 E AndroidRuntime: java.lang.IllegalStateException: Signature|privileged permissions not in privapp-permissions whitelist: {com.demo.permission: android.permission.DELETE_PACKAGES, com.demo.permission: android.permission.READ_NETWORK_USAGE_HISTORY, com.demo.permission: android.permission.READ_LOGS, com.demo.permission: android.permission.PACKAGE_USAGE_STATS, com.demo.permission: android.permission.CLEAR_APP_CACHE, com.demo.permission: android.permission.REAL_GET_TASKS, com.demo.permission: android.permission.READ_PRIVILEGED_PHONE_STATE}
10-16 14:18:39.065  3151  3151 E AndroidRuntime:        at com.android.server.pm.permission.PermissionManagerService.systemReady(PermissionManagerService.java:3118)
10-16 14:18:39.065  3151  3151 E AndroidRuntime:        at com.android.server.pm.permission.PermissionManagerService.access$100(PermissionManagerService.java:122)
10-16 14:18:39.065  3151  3151 E AndroidRuntime:        at com.android.server.pm.permission.PermissionManagerService$PermissionManagerServiceInternalImpl.systemReady(PermissionManagerService.java:3179)
10-16 14:18:39.065  3151  3151 E AndroidRuntime:        at com.android.server.pm.PackageManagerService.systemReady(PackageManagerService.java:21886)
10-16 14:18:39.065  3151  3151 E AndroidRuntime:        at com.android.server.SystemServer.startOtherServices(SystemServer.java:1995)
10-16 14:18:39.065  3151  3151 E AndroidRuntime:        at com.android.server.SystemServer.run(SystemServer.java:513)
10-16 14:18:39.065  3151  3151 E AndroidRuntime:        at com.android.server.SystemServer.main(SystemServer.java:350)
10-16 14:18:39.065  3151  3151 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
10-16 14:18:39.065  3151  3151 E AndroidRuntime:        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
10-16 14:18:39.065  3151  3151 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:916)

配置 privapp-permissions 权限的方法如下,任选其一即可。逐个说明。

原生 privapp-permissions-platform.xml

修改 frameworks/base/data/etc/privapp-permissions-platform.xml ,

根据 log 中的报错逐个添加权限,添加如下,

<permissions>+    <privapp-permissions package="com.demo.permission">
+        <permission name="android.permission.DELETE_PACKAGES"/>
+        <permission name="android.permission.READ_NETWORK_USAGE_HISTORY"/>
+        <permission name="android.permission.READ_LOGS"/>
+        <permission name="android.permission.PACKAGE_USAGE_STATS"/>
+        <permission name="android.permission.CLEAR_APP_CACHE"/>
+        <permission name="android.permission.REAL_GET_TASKS"/>
+        <permission name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
+    </privapp-permissions></permissions>

厂商的 privapp-permissions-xxx.xml

厂商基本都有自己定制 privapp-permissions-xxx.xml ,如

LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)
LOCAL_MODULE := privapp-permissions-xxx.xml
LOCAL_MODULE_CLASS := ETC
LOCAL_MODULE_PATH := $(TARGET_OUT)/etc/permissions
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := privapp-permissions-xxx.xml
include $(BUILD_PREBUILT)include $(call all-makefiles-under,$(LOCAL_PATH))

最终编译到 system/etc/permissions/

新增

自己新增一个 privapp-permissions-my.xml 文件,在 device.mk 中拷贝到 system/etc/permissions/ 下,

PRODUCT_COPY_FILES += \device/tv201/DAEWOO/etc/permissions/privapp-permissions-my.xml:system_ext/etc/permissions/privapp-permissions-my.xml \

此方法可能不完全适用,谨慎使用。

提前获取应用的特殊权限

前面是根据报错 log 来知道特权应用申请的权限,如果可以提前获取,就可以避免编译耗时。

如果应用可以直接安装,就可以用命令获取。

安装

先安装特权应用,pm install -r --user 0 apkFilePath 。 -r 、–user 0 参数按需使用。

获取

pm get-privapp-permissions TARGET-PACKAGE 命令获取

get-privapp-permissions TARGET-PACKAGE
Prints all privileged permissions for a package.

如,

console:/ # pm get-privapp-permissions com.demo.permission                 
{android.permission.REAL_GET_TASKS, android.permission.PACKAGE_USAGE_STATS, android.permission.READ_PRIVILEGED_PHONE_STATE, android.permission.READ_LOGS, android.permission.READ_NETWORK_USAGE_HISTORY, android.permission.CLEAR_APP_CACHE, android.permission.DELETE_PACKAGES}
console:/ #

这是串口获取的, adb 获取的话用 adb shell pm get-privapp-permissions TARGET-PACKAGE 。

源码分析

报错 log Signature|privileged permissions not in privapp-permissions whitelist 位于 frameworks/base/services/core/java/com/android/server/pm/permission/PermissionManagerService.java

    private void systemReady() {mSystemReady = true;if (mPrivappPermissionsViolations != null) {throw new IllegalStateException("Signature|privileged permissions not in "+ "privapp-permissions whitelist: " + mPrivappPermissionsViolations);}mPermissionControllerManager = mContext.getSystemService(PermissionControllerManager.class);mPermissionPolicyInternal = LocalServices.getService(PermissionPolicyInternal.class);}

待续

http://www.cadmedia.cn/news/2730.html

相关文章:

  • 广东建设安全质量协会网站东莞营销网站建设
  • 翻译网站建设b站引流推广
  • 固始县住房和城乡建设局网站seocms
  • 企业设计网站公司有哪些怎么看app的下载网址
  • 网站建设流程seo标题优化分析范文
  • 大型餐饮网站建设网站域名注册
  • 德宏商城网站建设知识营销成功案例介绍
  • 网站建设国风网络公司厦门人才网唯一官网登录
  • 常州个人网站建设西安百度推广开户运营
  • 网站建设 生产百度小程序排名优化
  • 企业网盘怎么上传文件seo网络优化专员
  • 西安找公司建网站百度指数搜索指数的数据来源
  • 深圳模具外贸网站建设去哪里推广软件效果好
  • 佛山网络公司推荐承德seo
  • 金蝶软件中国有限公司百度seo关键词报价
  • 重庆网站建设套餐磁力猫最佳搜索引擎入口
  • 网站结算系统怎么做杭州网站建设 seo
  • 广东东莞天气预报15天整站优化外包服务
  • 学校网站建设项目的wbs安徽百度关键词优化
  • 免费html网页模板素材网站域名备案查询官网
  • 中国建筑网站平台有哪些企业为何选择网站推广外包?
  • 北京高端网站公司哪家好bt磁力搜索引擎在线
  • 网站设计制作公司推荐百度竞价排名推广
  • 百度关键词优化多少钱一年关键词首页排名优化平台
  • 代做网站平台青岛网站建设公司电话
  • 济宁做网站的企业合肥网络营销公司
  • 网站建设工作室发展世界十大网站排名
  • 大连城市建设集团网站百度图片搜索网页版
  • 做网做网站建设的网站程序员培训班要多少钱
  • 深圳做百度网站重庆seo服务