Android 11添加所有特许权限白名单

环境

Android 11 SDK

需求

修改了一些内置的系统APP,添加了些权限后,会有可能导致烧录固件后一起重启问题,打logcat会有类似下面的错误打印:

023-11-08 11:36:23.854 4173-4173/system_process E/AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: main

java.lang.IllegalStateException: Signature|privileged permissions not in privapp-permissions whitelist: {com.xx(/system/priv-app/xx): android.permission.READ_PRIVILEGED_PHONE_STATE

每次添加一个权限,都有可能导致编译出错,要再添加一次,有些麻烦,需要一种一劳永逸的方法。

实现

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

为自定义内置系统应用APP添加绝大部分特许权限白名单

xml 复制代码
<permission name="android.intent.action.SIM_STATE_CHANGED" />
<permission name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<permission name="android.permission.ACCESS_CACHE_FILESYSTEM" />
<permission name="android.permission.ACCESS_CHECKIN_PROPERTIES"  />
<permission name="android.permission.ACCESS_COARSE_LOCATION" />
<permission name="android.permission.ACCESS_DOWNLOAD_MANAGER" />
<permission name="android.permission.ACCESS_FINE_LOCATION" />
<permission name="android.permission.ACCESS_IMS_CALL_SERVICE"/>
<permission name="android.permission.ACCESS_INSTANT_APPS" />
<permission name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<permission name="android.permission.ACCESS_LOWPAN_STATE"/>
<permission name="android.permission.ACCESS_MTP"/>
<permission name="android.permission.ACCESS_NETWORK_CONDITIONS"/>
<permission name="android.permission.ACCESS_NETWORK_STATE" />
<permission name="android.permission.ACCESS_NOTIFICATIONS" />
<permission name="android.permission.ACCESS_SHORTCUTS"/>
<permission name="android.permission.ACCESS_TV_DESCRAMBLER" />
<permission name="android.permission.ACCESS_TV_TUNER" />
<permission name="android.permission.ACCESS_VIBRATOR_STATE"/>
<permission name="android.permission.ACCESS_WIFI_STATE" />
<permission name="android.permission.ACCESS_WIMAX_STATE" />
<permission name="android.permission.ACTIVITY_EMBEDDING"/>
<permission name="android.permission.APPROVE_INCIDENT_REPORTS"/>
<permission name="android.permission.BACKUP"  />
<permission name="android.permission.BATTERY_STATS"  />
<permission name="android.permission.BIND_APPWIDGET"/>
<permission name="android.permission.BIND_CARRIER_MESSAGING_SERVICE"/>
<permission name="android.permission.BIND_CARRIER_SERVICES"/>
<permission name="android.permission.BIND_CELL_BROADCAST_SERVICE"/>
<permission name="android.permission.BIND_CONNECTION_SERVICE"/>
<permission name="android.permission.BIND_DIRECTORY_SEARCH"/>
<permission name="android.permission.BIND_EUICC_SERVICE" /> 
<permission name="android.permission.BIND_EXPLICIT_HEALTH_CHECK_SERVICE"/>
<permission name="android.permission.BIND_IMS_SERVICE"/>
<permission name="android.permission.BIND_INCALL_SERVICE"/>
<permission name="android.permission.BIND_TELEPHONY_DATA_SERVICE"/>
<permission name="android.permission.BIND_VISUAL_VOICEMAIL_SERVICE"/>
<permission name="android.permission.BLUETOOTH" />
<permission name="android.permission.BLUETOOTH_ADMIN" />
<permission name="android.permission.BLUETOOTH_ADVERTISE" />
<permission name="android.permission.BLUETOOTH_CONNECT" />
<permission name="android.permission.BLUETOOTH_PRIVILEGED" />
<permission name="android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS" />
<permission name="android.permission.BROADCAST_STICKY" />
<permission name="android.permission.CALL_PHONE" />
<permission name="android.permission.CALL_PRIVILEGED"/>
<permission name="android.permission.CAMERA" />
<permission name="android.permission.CAPTURE_AUDIO_OUTPUT" />
<permission name="android.permission.CHANGE_APP_IDLE_STATE"/>
<permission name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" />
<permission name="android.permission.CHANGE_CONFIGURATION"  />
<permission name="android.permission.CHANGE_CONFIGURATION"/>
<permission name="android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST" />
<permission name="android.permission.CHANGE_HDMI_CEC_ACTIVE_SOURCE"/>
<permission name="android.permission.CHANGE_LOWPAN_STATE"/>
<permission name="android.permission.CHANGE_NETWORK_STATE" />
<permission name="android.permission.CHANGE_OVERLAY_PACKAGES"/>
<permission name="android.permission.CHANGE_WIFI_STATE" />
<permission name="android.permission.CHANGE_WIMAX_STATE" />
<permission name="android.permission.CLEAR_APP_CACHE"/>
<permission name="android.permission.CLEAR_APP_USER_DATA"  />
<permission name="android.permission.COMPANION_APPROVE_WIFI_CONNECTIONS" />
<permission name="android.permission.CONFIGURE_INTERACT_ACROSS_PROFILES"/>
<permission name="android.permission.CONFIGURE_WIFI_DISPLAY"  />
<permission name="android.permission.CONNECTIVITY_INTERNAL"  />
<permission name="android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS"/>
<permission name="android.permission.CONTROL_DEVICE_LIGHTS" />
<permission name="android.permission.CONTROL_INCALL_EXPERIENCE"/>
<permission name="android.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS"/>
<permission name="android.permission.CONTROL_VPN"/>
<permission name="android.permission.COPY_PROTECTED_DATA"  />
<permission name="android.permission.CRYPT_KEEPER"/>
<permission name="android.permission.DELETE_CACHE_FILES" />
<permission name="android.permission.DELETE_PACKAGES" />
<permission name="android.permission.DEVICE_POWER" />
<permission name="android.permission.DISABLE_KEYGUARD" />
<permission name="android.permission.DUMP"/>
<permission name="android.permission.DVB_DEVICE"/>
<permission name="android.permission.ENTER_CAR_MODE_PRIORITIZED"/>
<permission name="android.permission.FORCE_STOP_PACKAGES"  />
<permission name="android.permission.FOREGROUND_SERVICE" />
<permission name="android.permission.GET_ACCOUNTS_PRIVILEGED"/>
<permission name="android.permission.GET_APP_OPS_STATS"/>
<permission name="android.permission.GET_TASKS" />
<permission name="android.permission.GLOBAL_SEARCH"/>
<permission name="android.permission.HANDLE_CAR_MODE_CHANGES"/>
<permission name="android.permission.HDMI_CEC"/>
<permission name="android.permission.INSTALL_DYNAMIC_SYSTEM"/>
<permission name="android.permission.INSTALL_LOCATION_PROVIDER"/>
<permission name="android.permission.INSTALL_PACKAGES" />
<permission name="android.permission.INTENT_FILTER_VERIFICATION_AGENT"/>
<permission name="android.permission.INTERACT_ACROSS_PROFILES"/>
<permission name="android.permission.INTERACT_ACROSS_USERS" />
<permission name="android.permission.INTERACT_ACROSS_USERS_FULL" />
<permission name="android.permission.INTERNET" />
<permission name="android.permission.LOADER_USAGE_STATS"/>
<permission name="android.permission.LOCAL_MAC_ADDRESS" />
<permission name="android.permission.LOCATION_HARDWARE" />
<permission name="android.permission.LOG_COMPAT_CHANGE" />
<permission name="android.permission.MANAGE_ACCESSIBILITY"/>
<permission name="android.permission.MANAGE_DEBUGGING" />
<permission name="android.permission.MANAGE_DEVICE_ADMINS"  />
<permission name="android.permission.MANAGE_DYNAMIC_SYSTEM"/>
<permission name="android.permission.MANAGE_EXTERNAL_STORAGE" />
<permission name="android.permission.MANAGE_FINGERPRINT"/>
<permission name="android.permission.MANAGE_MEDIA_PROJECTION" />
<permission name="android.permission.MANAGE_NOTIFICATIONS"/>
<permission name="android.permission.MANAGE_ROLE_HOLDERS"/>
<permission name="android.permission.MANAGE_ROLLBACKS"/>
<permission name="android.permission.MANAGE_SUBSCRIPTION_PLANS"/>
<permission name="android.permission.MANAGE_USB"  />
<permission name="android.permission.MANAGE_USERS" />
<permission name="android.permission.MASTER_CLEAR" />
<permission name="android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS"/>
<permission name="android.permission.MODIFY_AUDIO_ROUTING" />
<permission name="android.permission.MODIFY_DAY_NIGHT_MODE"/>
<permission name="android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS"/>
<permission name="android.permission.MODIFY_PARENTAL_CONTROLS"/>
<permission name="android.permission.MODIFY_PHONE_STATE" />
<permission name="android.permission.MONITOR_DEFAULT_SMS_PACKAGE" />
<permission name="android.permission.MOUNT_FORMAT_FILESYSTEMS"/>
<permission name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<permission name="android.permission.MOVE_PACKAGE"  />
<permission name="android.permission.NETWORK_BYPASS_PRIVATE_DNS"/>
<permission name="android.permission.NETWORK_MANAGED_PROVISIONING"/>
<permission name="android.permission.NETWORK_SCAN"/>
<permission name="android.permission.OBSERVE_APP_USAGE"/>
<permission name="android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS"/>
<permission name="android.permission.OVERRIDE_COMPAT_CHANGE_CONFIG" />
<permission name="android.permission.PACKAGE_USAGE_STATS" />
<permission name="android.permission.PACKET_KEEPALIVE_OFFLOAD" />
<permission name="android.permission.PERFORM_CDMA_PROVISIONING"/>
<permission name="android.permission.POWER_SAVER" />
<permission name="android.permission.PROVIDE_RESOLVER_RANKER_SERVICE" />
<permission name="android.permission.QUERY_ALL_PACKAGES" />
<permission name="android.permission.READ_CALL_LOG" />
<permission name="android.permission.READ_CARRIER_APP_INFO"/>
<permission name="android.permission.READ_COMPAT_CHANGE_CONFIG" />
<permission name="android.permission.READ_CONTACTS" />
<permission name="android.permission.READ_CONTENT_RATING_SYSTEMS"/>
<permission name="android.permission.READ_DREAM_STATE" />
<permission name="android.permission.READ_EXTERNAL_STORAGE" />
<permission name="android.permission.READ_FRAME_BUFFER"/>
<permission name="android.permission.READ_INSTALL_SESSIONS" />
<permission name="android.permission.READ_LOGS" />
<permission name="android.permission.READ_LOWPAN_CREDENTIAL"/>
<permission name="android.permission.READ_NETWORK_USAGE_HISTORY"/>
<permission name="android.permission.READ_OEM_UNLOCK_STATE"/>
<permission name="android.permission.READ_PHONE_STATE" />
<permission name="android.permission.READ_PRECISE_PHONE_STATE" />
<permission name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
<permission name="android.permission.READ_PROFILE" />
<permission name="android.permission.READ_SEARCH_INDEXABLES"/>
<permission name="android.permission.READ_SMS" />
<permission name="android.permission.READ_SYNC_SETTINGS" />
<permission name="android.permission.READ_SYNC_STATS" />
<permission name="android.permission.READ_USER_DICTIONARY" />
<permission name="android.permission.READ_WIFI_CREDENTIAL"/>
<permission name="android.permission.REAL_GET_TASKS"/>
<permission name="android.permission.REBOOT" />
<permission name="android.permission.RECEIVE_BOOT_COMPLETED" />
<permission name="android.permission.RECEIVE_DATA_ACTIVITY_CHANGE"/>
<permission name="android.permission.RECEIVE_EMERGENCY_BROADCAST"/>
<permission name="android.permission.RECEIVE_SMS" />
<permission name="android.permission.RECORD_AUDIO" />
<permission name="android.permission.RECOVERY" />
<permission name="android.permission.REGISTER_CALL_PROVIDER"/>
<permission name="android.permission.REGISTER_CONNECTION_MANAGER"/>
<permission name="android.permission.REGISTER_SIM_SUBSCRIPTION"/>
<permission name="android.permission.REGISTER_STATS_PULL_ATOM" />
<permission name="android.permission.REORDER_TASKS" />
<permission name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
<permission name="android.permission.REQUEST_INCIDENT_REPORT_APPROVAL"/>
<permission name="android.permission.REQUEST_INSTALL_PACKAGES" />
<permission name="android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE" />
<permission name="android.permission.RETRIEVE_WINDOW_CONTENT"/>
<permission name="android.permission.SCHEDULE_EXACT_ALARM" />
<permission name="android.permission.SCORE_NETWORKS"/>
<permission name="android.permission.SEND_RESPOND_VIA_MESSAGE"/>
<permission name="android.permission.SET_ALWAYS_FINISH"/>
<permission name="android.permission.SET_ANIMATION_SCALE"/>
<permission name="android.permission.SET_DEBUG_APP"/>
<permission name="android.permission.SET_KEYBOARD_LAYOUT"  />
<permission name="android.permission.SET_POINTER_SPEED"  />
<permission name="android.permission.SET_PROCESS_LIMIT"/>
<permission name="android.permission.SET_TIME" />
<permission name="android.permission.SET_TIME_ZONE" />
<permission name="android.permission.SET_WALLPAPER" />
<permission name="android.permission.SET_WALLPAPER_COMPONENT" />
<permission name="android.permission.SHUTDOWN" />
<permission name="android.permission.SIGNAL_PERSISTENT_PROCESSES"/>
<permission name="android.permission.START_ACTIVITIES_FROM_BACKGROUND" />
<permission name="android.permission.START_TASKS_FROM_RECENTS" />
<permission name="android.permission.STATUS_BAR"  />
<permission name="android.permission.STATUS_BAR_SERVICE"/>
<permission name="android.permission.STOP_APP_SWITCHES"/>
<permission name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" />
<permission name="android.permission.SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON"/>
<permission name="android.permission.SUGGEST_TELEPHONY_TIME_AND_ZONE"/>
<permission name="android.permission.SUSPEND_APPS" />
<permission name="android.permission.SYSTEM_ALERT_WINDOW" />
<permission name="android.permission.SYSTEM_CAMERA" />
<permission name="android.permission.SYSTEM_OVERLAY_WINDOW" />
<permission name="android.permission.TETHER_PRIVILEGED"/>
<permission name="android.permission.TUNER_RESOURCE_ACCESS" />
<permission name="android.permission.TV_INPUT_HARDWARE" />
<permission name="android.permission.UPDATE_APP_OPS_STATS"/>
<permission name="android.permission.UPDATE_DEVICE_STATS"/>
<permission name="android.permission.UPDATE_LOCK"/>
<permission name="android.permission.USE_CREDENTIALS" />
<permission name="android.permission.USE_FULL_SCREEN_INTENT" />
<permission name="android.permission.USE_RESERVED_DISK"/>
<permission name="android.permission.VIBRATE" />
<permission name="android.permission.WAKE_LOCK" />
<permission name="android.permission.WATCH_APPOPS"/>
<permission name="android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE"/>
<permission name="android.permission.WRITE_APN_SETTINGS" />
<permission name="android.permission.WRITE_CONTACTS" />
<permission name="android.permission.WRITE_DREAM_STATE" />
<permission name="android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS" /> 
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" />
<permission name="android.permission.WRITE_MEDIA_STORAGE" />
<permission name="android.permission.WRITE_SECURE_SETTINGS" />
<permission name="android.permission.WRITE_SETTINGS" />
<permission name="android.permission.WRITE_SYNC_SETTINGS" />
<permission name="android.permission.WRITE_USER_DICTIONARY" />
<permission name="com.android.certinstaller.INSTALL_AS_USER" />
<permission name="com.android.launcher.permission.READ_SETTINGS" />
<permission name="com.android.launcher.permission.WRITE_SETTINGS" />
<permission name="com.android.permission.BIND_EUICC_SERVICE" />
<permission name="com.android.permission.USE_INSTALLER_V2"/>
<permission name="com.android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS" />
<permission name="com.android.providers.tv.permission.ACCESS_ALL_EPG_DATA"/>
<permission name="com.android.providers.tv.permission.ACCESS_WATCHED_PROGRAMS"/>
<permission name="com.android.voicemail.permission.READ_VOICEMAIL"/>
<permission name="com.android.voicemail.permission.WRITE_VOICEMAIL"/>
<permission name="com.benew.ntt.camera.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION" />
<permission name="com.google.android.googleapps.permission.GOOGLE_AUTH" />
<permission name="com.qualcomm.permission.UIM_REMOTE_CLIENT" />
<permission name="redteamobile.permission.ACCESS_RBOOK_SERVIC" />

作者:帅得不敢出门 原创文章谢绝转载

相关推荐
梁同学与Android20 分钟前
Android --- 在AIDL进程间通信中,为什么使用RemoteCallbackList 代替 ArrayList?
android
Frank_HarmonyOS3 小时前
【无标题】Android消息机制
android
凯文的内存5 小时前
Android14 OTA升级速度过慢问题解决方案
android·ota·update engine·系统升级·virtual ab
VinRichard5 小时前
Android 常用三方库
android
Aileen_0v06 小时前
【玩转OCR | 腾讯云智能结构化OCR在图像增强与发票识别中的应用实践】
android·java·人工智能·云计算·ocr·腾讯云·玩转腾讯云ocr
江上清风山间明月9 小时前
Flutter DragTarget拖拽控件详解
android·flutter·ios·拖拽·dragtarget
debug_cat12 小时前
AndroidStudio Ladybug中编译完成apk之后定制名字kts复制到指定目录
android·android studio
编程洪同学16 小时前
Spring Boot 中实现自定义注解记录接口日志功能
android·java·spring boot·后端
氤氲息18 小时前
Android 底部tab,使用recycleview实现
android
Clockwiseee18 小时前
PHP之伪协议
android·开发语言·php