android中的<uses-feature>以及<uses-permission>

Android手机中,有些permission并不是在应用程序的mainfest文件中声明就可以获得,它们还和是否是第三方签名及签名的类型有关系。

典型的 android.permission.INSTALL_PACKAGES 除了需要在 mainfest文件中声明,还需要应用程序是系统的Platform签名
今天特意写一测试程序来测试哪些 permission 第三方签名的应用程序获得的。当然有些Android手机,如果把apk应用程序放到 /system/app 的目录下,即使是使用的第三方签名,也能获得相当于 系统的Platform签名的权限。但是这个毕竟是非常规方法,故在这里不在我讨论的范围内。另外由于我的操作失误,可能应为某个 permission 没加入到 mainfest 文件,造成无法通过权限检查。因此测试结果 仅供参考
测试结果显示,在 Lenovo A820( Android 4.1.2 中应用程序使用第三方签名无法获得以下的 permission
android . permission . ACCESS_CACHE_FILESYSTEM
android . permission . ACCESS_CHECKIN_PROPERTIES
android . permission . ACCESS_CONTENT_PROVIDERS_EXTERNALLY
android . permission . ACCESS_MTK_MMHW
android . permission . ACCESS_MTP
android . permission . ACCESS_SURFACE_FLINGER
android . permission . ACCESS_WIMAX_STATE
android . permission . ACCOUNT_MANAGER
com . android . voicemail . permission . ADD_VOICEMAIL
android . permission . ALLOW_ANY_CODEC_FOR_PLAYBACK
android . permission . ASEC_ACCESS
android . permission . ASEC_CREATE
android . permission . ASEC_DESTROY
android . permission . ASEC_MOUNT_UNMOUNT
android . permission . ASEC_RENAME
android . permission . BACKUP
android . permission . BIND_ACCESSIBILITY_SERVICE
android . permission . BIND_APPWIDGET
android . permission . BIND_DEVICE_ADMIN
android . permission . BIND_INPUT_METHOD
android . permission . BIND_PACKAGE_VERIFIER
android . permission . BIND_REMOTEVIEWS
android . permission . BIND_TEXT_SERVICE
android . permission . BIND_VPN_SERVICE
android . permission . BIND_WALLPAPER
android . permission . BRICK
android . permission . BROADCAST_PACKAGE_REMOVED
android . permission . BROADCAST_SMS
android . permission . BROADCAST_WAP_PUSH
android . intent . category . MASTER_CLEAR . permission . C2D_MESSAGE
android . permission . CALL_PRIVILEGED
android . permission . CHANGE_BACKGROUND_DATA_SETTING
android . permission . CHANGE_COMPONENT_ENABLED_STATE
android . permission . CHANGE_WIMAX_STATE
android . permission . CLEAR_APP_USER_DATA
android . permission . CONFIRM_FULL_BACKUP
android . permission . CONNECTIVITY_INTERNAL
android . permission . CONTROL_LOCATION_UPDATES
android . permission . COPY_PROTECTED_DATA
android . permission . CRYPT_KEEPER
android . permission . DELETE_CACHE_FILES
android . permission . DELETE_PACKAGES
android . permission . DEVICE_POWER
android . permission . DIAGNOSTIC
android . permission . DUMP
android . permission . FACTORY_TEST
android . permission . FORCE_BACK
android . permission . FORCE_STOP_PACKAGES
android . permission . GET_DETAILED_TASKS
android . permission . GLOBAL_SEARCH
android . permission . GLOBAL_SEARCH_CONTROL
android . permission . GRANT_REVOKE_PERMISSIONS
android . permission . HARDWARE_TEST
android . permission . INJECT_EVENTS
android . permission . INSTALL_LOCATION_PROVIDER
android . permission . INSTALL_PACKAGES
android . permission . INTERNAL_SYSTEM_WINDOW
android . permission . MANAGE_APP_TOKENS
android . permission . MANAGE_NETWORK_POLICY
android . permission . MANAGE_USB
android . permission . MASTER_CLEAR
android . permission . MODIFY_APPWIDGET_BIND_PERMISSIONS
android . permission . MODIFY_NETWORK_ACCOUNTING
android . permission . MODIFY_PHONE_STATE
android . permission . MOVE_PACKAGE
android . permission . NET_ADMIN
android . permission . NFC
android . permission . PACKAGE_USAGE_STATS
android . permission . PACKAGE_VERIFICATION_AGENT
android . permission . PERFORM_CDMA_PROVISIONING
android . permission . READ_CELL_BROADCASTS
android . permission . READ_FRAME_BUFFER
android . permission . READ_INPUT_STATE
android . permission . READ_LOGS
android . permission . READ_NETWORK_USAGE_HISTORY
android . permission . READ_PRIVILEGED_PHONE_STATE
android . permission . READ_PROFILE
android . permission . READ_SOCIAL_STREAM
android . permission . READ_USER_DICTIONARY
android . permission . REBOOT
android . permission . RECEIVE_EMERGENCY_BROADCAST
android . permission . REMOTE_AUDIO_PLAYBACK
android . permission . REMOVE_TASKS
android . permission . RETRIEVE_WINDOW_CONTENT
android . permission . SEND_SMS_NO_CONFIRMATION
android . permission . SERIAL_PORT
android . permission . SET_ACTIVITY_WATCHER
com . android . alarm . permission . SET_ALARM
android . permission . SET_ALWAYS_FINISH
android . permission . SET_ANIMATION_SCALE
android . permission . SET_DEBUG_APP
android . permission . SET_KEYBOARD_LAYOUT
android . permission . SET_ORIENTATION
android . permission . SET_POINTER_SPEED
android . permission . SET_PREFERRED_APPLICATIONS
android . permission . SET_PROCESS_LIMIT
android . permission . SET_SCREEN_COMPATIBILITY
android . permission . SET_TIME
android . permission . SET_WALLPAPER_COMPONENT
android . permission . SHUTDOWN
android . permission . SIGNAL_PERSISTENT_PROCESSES
android . permission . START_ANY_ACTIVITY
android . permission . STATUS_BAR
android . permission . STATUS_BAR_SERVICE
android . permission . STOP_APP_SWITCHES
android . permission . UPDATE_DEVICE_STATS
android . permission . UPDATE_LOCK
android . permission . USE_SIP
android . permission . WRITE_APN_SETTINGS
android . permission . WRITE_GSERVICES
android . permission . WRITE_MEDIA_STORAGE
android . permission . WRITE_PROFILE
android . permission . WRITE_SECURE_SETTINGS
android . permission . WRITE_SOCIAL_STREAM
android . permission . WRITE_USER_DICTIONARY

AndroidManifest.xml中的<uses-feature>以及和<uses-permission>之间的联系

概述:<uses-feature>用来声明应用中需要用的硬件和软件的功能。

硬件特性:表明您的应用需要用的硬件功能。

功能类型特征描述描述
音频android.hardware.audio.low_latency该应用程序使用低延迟的音频设备上的管道,声音输入或输出延迟或滞后敏感。
蓝牙android.hardware.bluetooth该应用程序使用蓝牙无线功能,在设备中。
相机android.hardware.camera该应用程序使用该设备的摄像头。 如果设备支持多个摄像头,应用程序使用相机,面对从屏幕上移开。
 android.hardware.camera.autofocus子功能。 该应用程序使用设备相机的自动对焦能力。
 android.hardware.camera.flash子功能。 该应用程序使用设备相机的闪光灯。
 android.hardware.camera.front子功能。 该应用程序使用设备上的前置摄像头。
 android.hardware.camera.any该应用程序使用至少一个摄像头朝向任何方向。 使用当前在偏好 android.hardware.camera的, 如果不需要的背面朝相机。
位置android.hardware.location该应用程序使用设备上的一个或多个特征,确定位置,如GPS定位,网络位置或细胞的位置。
 android.hardware.location.network子功能。 该应用程序使用从设备支持的基于网络的地理定位系统获得的粗略的位置坐标
 android.hardware.location.gps子功能。 该应用程序使用设备上的全球定位系统接收器获得的精确位置坐标。
麦克风android.hardware.microphone该应用程序使用设备上的麦克风。
NFCandroid.hardware.nfc该应用程序使用近场通讯在设备的收音功能。
传感器android.hardware.sensor.accelerometer该应用程序使用的移动设备上的一个加速度计的运动读数。
 android.hardware.sensor.barometer该应用程序使用该设备的晴雨表。
 android.hardware.sensor.compass该应用程序使用设备上的磁力计(罗盘)方向读数。
 android.hardware.sensor.gyroscope该应用程序使用该设备的陀螺仪传感器。
 android.hardware.sensor.light该应用程序使用该设备的光传感器。
 android.hardware.sensor.proximity该应用程序使用该设备的接近传感器。
屏幕android.hardware.screen.landscape该应用程序需要横向。
 android.hardware.screen.portrait该应用程序需要纵向。
电话android.hardware.telephony该应用程序使用电话功能的移动设备,例如,电话与数据通信业务的无线电。
 android.hardware.telephony.cdma子功能。 该应用程序使用CDMA电话收音机功能在设备上的。
 android.hardware.telephony.gsm子功能。 应用程序在设备上采用了GSM电话收音机功能。
电视android.hardware.type.television应用程序是专为电视用户体验。
触摸屏android.hardware.faketouch该应用程序使用基本的的触摸互动活动,如“点击”,“点击”,并拖动。
 android.hardware.faketouch.multitouch.distinct不同的应用程序执行跟踪的两个或两个以上的“手指”上假的触摸界面。 这是的faketouch功能的一个超集。
 android.hardware.faketouch.multitouch.jazzhand不同的应用程序执行的跟踪5个或以上的“手指”上假的触摸界面。 这是的faketouch功能的一个超集。
 android.hardware.touchscreen该应用程序使用的触摸屏功能,比基本触摸事件,如一扔,更具互动性的手势。 这是的基本faketouch功能的一个超集。
 android.hardware.touchscreen.multitouch应用程序使用在设备屏幕上的两个基本点的多点触控功能,如捏的手势,但,不需要独立跟踪触及。 这是触摸屏功能的一个超集。
 android.hardware.touchscreen.multitouch.distinct子功能。 在设备屏幕上的应用程序采用了先进的多点多点触控功能,如跟踪两个或两个以上的点完全独立。 这是一个多点触控功能的超集。
 android.hardware.touchscreen.multitouch.jazzhand在设备屏幕上的应用程序采用了先进的多点多点触控功能,跟踪到五点完全独立。 这是一个独特的多点触控功能的超集。
USBandroid.hardware.usb.host该应用程序使用USB主机模式功能(表现为主机和USB设备连接到)。
 android.hardware.usb.accessory该应用程序使用的USB附件功能(表现为USB设备连接到USB主机)。
无线上网android.hardware.wifi应用程序使用802.11网络(WIFI)功能的设备上的。
   

软件功能:表明您的应用程序使用或需要的软件功能。
特点属性值描述
应用程序!android.software.app_widgets该应用程序使用或提供应用小工具,仅应安装的设备上,包括一个主屏幕或类似的位置,用户可以应用小工具嵌入。
蓝牙低功耗android.software.bluetooth_le

该应用程序使用蓝牙低能量的API只能够与其他设备通过蓝牙低功耗通信设备,应安装。 这也隐含声明的 android.hardware.bluetooth 功能。

主屏幕android.software.home_screen主屏幕更换应用程序的行为,应只安装在设备主屏幕上的应用程序支持第三方。
输入法android.software.input_methods该应用程序提供了一个自定义的输入法应该只能安装在设备支持第三方输入法。
动态壁纸android.software.live_wallpaper该应用程序使用或提供动态壁纸,应该只能安装在设备支持动态壁纸。
SIP / VOIPandroid.software.sip该应用程序使用SIP服务在设备上,只应安装上支持SIP的设备。
 android.software.sip.voip

子功能。 该应用程序使用基于SIP的VoIP服务在设备上。

此子功能隐式声明 android.software.sip的 父特征,除非宣布与

android:required="false"
   

权限和功能之间的联系:

类别需要的权限要求的功能
蓝牙BLUETOOTHandroid.hardware.bluetooth

(见 特殊处理的蓝牙功能 的详细信息。)

 BLUETOOTH_ADMINandroid.hardware.bluetooth
相机CAMERAandroid.hardware.camera   
android.hardware.camera.autofocus
位置ACCESS_MOCK_LOCATIONandroid.hardware.location
 ACCESS_LOCATION_EXTRA_COMMANDSandroid.hardware.location
 INSTALL_LOCATION_PROVIDERandroid.hardware.location
 ACCESS_COARSE_LOCATIONandroid.hardware.location.network   
android.hardware.location
 ACCESS_FINE_LOCATIONandroid.hardware.location.gps   
android.hardware.location
麦克风RECORD_AUDIOandroid.hardware.microphone
电话CALL_PHONEandroid.hardware.telephony
 CALL_PRIVILEGEDandroid.hardware.telephony
 MODIFY_PHONE_STATEandroid.hardware.telephony
 PROCESS_OUTGOING_CALLSandroid.hardware.telephony
 READ_SMSandroid.hardware.telephony
 RECEIVE_SMSandroid.hardware.telephony
 RECEIVE_MMSandroid.hardware.telephony
 RECEIVE_WAP_PUSHandroid.hardware.telephony
 SEND_SMSandroid.hardware.telephony
 WRITE_APN_SETTINGSandroid.hardware.telephony
 WRITE_SMSandroid.hardware.telephony
无线上网ACCESS_WIFI_STATEandroid.hardware.wifi
 CHANGE_WIFI_STATEandroid.hardware.wifi
 CHANGE_WIFI_MULTICAST_STATEandroid.hardware.wifi

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值