Android手机中第三方签名应用程序无法获得的permission
转自http://blog.youkuaiyun.com/hudashi/article/details/8499001
Android
手机中,有些
permission
并不是在应用程序的mainfest文件中声明就可以获得,它们还和是否是第三方签名及签名的类型有关系。
典型的
android.permission.INSTALL_PACKAGES
除了需要在
mainfest文件中声明,还需要应用程序是系统的Platform签名。
今天特意写一测试程序来测试哪些
permission是
第三方签名的应用程序获得的。当然有些Android手机,如果把apk应用程序放到
/system/app
的目录下,即使是使用的第三方签名,也能获得相当于
系统的Platform签名的权限。但是这个毕竟是非常规方法,故在这里不在我讨论的范围内。另外由于我的操作失误,可能应为某个
permission
没加入到
mainfest
文件,造成无法通过权限检查。因此测试结果
仅供参考
。
测试用例1
测试源码TestPermission.java
package
edu
.
cdut
.
robin
;
import
java
.
lang
.
reflect
.
Field
;
import
android
.
content
.
Context
;
import
android
.
content
.
pm
.
PackageManager
;
import
android
.
util
.
Log
;
public
class
TestPermission
extends
Thread
{
final
Context
context
;
final
static
String
TAG
=
"robin"
;
TestPermission
(
Context
context
)
{
super
();
this
.
context
=
context
;
}
public
void
run
(){
/* 使用getDeclaredFields获取属性*/
Class
<
android
.
Manifest
.
permission
>
classType
=
android
.
Manifest
.
permission
.
class
;
Field
[]
fields
=
classType
.
getFields
();
for
(
Field
f
:
fields
)
{
Object
o
=
null
;
try
{
o
=
f
.
get
(
""
);
}
catch
(
IllegalArgumentException
e
)
{
e
.
printStackTrace
();
}
catch
(
IllegalAccessException
e
)
{
e
.
printStackTrace
();
}
if
(
o
!=
null
&&
o
instanceof
String
){
String
permission
=(
String
)
o
;
boolean
res
=(
context
.
checkCallingOrSelfPermission
(
permission
)==
PackageManager
.
PERMISSION_GRANTED
);
if
(!
res
){
Log
.
w
(
TAG
,
permission
);
}
}
System
.
out
.
println
(
f
);
}
}
}
mainfest文件中
<uses-permission
android:name
=
"android.permission.ACCESS_COARSE_LOCATION"
/>
<uses-permission
android:name
=
"android.permission.ACCESS_CHECKIN_PROPERTIES"
/>
<uses-permission
android:name
=
"android.permission.ACCESS_FINE_LOCATION"
/>
<uses-permission
android:name
=
"android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"
/>
<uses-permission
android:name
=
"android.permission.ACCESS_MOCK_LOCATION"
/>
<uses-permission
android:name
=
"android.permission.ACCESS_NETWORK_STATE"
/>
<uses-permission
android:name
=
"android.permission.ACCESS_SURFACE_FLINGER"
/>
<uses-permission
android:name
=
"android.permission.ACCESS_WIFI_STATE"
/>
<uses-permission
android:name
=
"android.permission.ACCOUNT_MANAGER"
/>
<uses-permission
android:name
=
"android.permission.AUTHENTICATE_ACCOUNTS"
/>
<uses-permission
android:name
=
"android.permission.BATTERY_STATS"
/>
<uses-permission
android:name
=
"android.permission.BIND_APPWIDGET"
/>
<uses-permission
android:name
=
"android.permission.BIND_DEVICE_ADMIN"
/>
<uses-permission
android:name
=
"android.permission.BIND_INPUT_METHOD"
/>
<uses-permission
android:name
=
"android.permission.BIND_WALLPAPER"
/>
<uses-permission
android:name
=
"android.permission.BLUETOOTH"
/>
<uses-permission
android:name
=
"android.permission.BLUETOOTH_ADMIN"
/>
<uses-permission
android:name
=
"android.permission.BRICK"
/>
<uses-permission
android:name
=
"android.permission.BROADCAST_PACKAGE_REMOVED"
/>
<uses-permission
android:name
=
"android.permission.BROADCAST_SMS"
/>
<uses-permission
android:name
=
"android.permission.BROADCAST_STICKY"
/>
<uses-permission
android:name
=
"android.permission.BROADCAST_WAP_PUSH"
/>
<uses-permission
android:name
=
"android.permission.CALL_PHONE"
/>
<uses-permission
android:name
=
"android.permission.CALL_PRIVILEGED"
/>
<uses-permission
android:name
=
"android.permission.CAMERA"
/>
<uses-permission
android:name
=
"android.permission.CHANGE_COMPONENT_ENABLED_STATE"
/>
<uses-permission
android:name
=
"android.permission.CHANGE_CONFIGURATION"
/>
<uses-permission
android:name
=
"android.permission.CHANGE_NETWORK_STATE"
/>
<uses-permission
android:name
=
"android.permission.CHANGE_WIFI_MULTICAST_STATE"
/>
<uses-permission
android:name
=
"android.permission.CHANGE_WIFI_STATE"
/>
<uses-permission
android:name
=
"android.permission.CLEAR_APP_CACHE"
/>
<uses-permission
android:name
=
"android.permission.CLEAR_APP_USER_DATA"
/>
<uses-permission
android:name
=
"android.permission.CONTROL_LOCATION_UPDATES"
/>
<uses-permission
android:name
=
"android.permission.DELETE_CACHE_FILES"
/>
<uses-permission
android:name
=
"android.permission.DELETE_PACKAGES"
/>
<uses-permission
android:name
=
"android.permission.DEVICE_POWER"
/>
<uses-permission
android:name
=
"android.permission.DIAGNOSTIC"
/>
<uses-permission
android:name
=
"android.permission.DISABLE_KEYGUARD"
/>
<uses-permission
android:name
=
"android.permission.DUMP"
/>
<uses-permission
android:name
=
"android.permission.EXPAND_STATUS_BAR"
/>
<uses-permission
android:name
=
"android.permission.FACTORY_TEST"
/>
<uses-permission
android:name
=
"android.permission.FLASHLIGHT"
/>
<uses-permission
android:name
=
"android.permission.FORCE_BACK"
/>
<uses-permission
android:name
=
"android.permission.GET_ACCOUNTS"
/>
<uses-permission
android:name
=
"android.permission.GET_PACKAGE_SIZE"
/>
<uses-permission
android:name
=
"android.permission.GET_TASKS"
/>
<uses-permission
android:name
=
"android.permission.GLOBAL_SEARCH"
/>
<uses-permission
android:name
=
"android.permission.HARDWARE_TEST"
/>
<uses-permission
android:name
=
"android.permission.INJECT_EVENTS"
/>
<uses-permission
android:name
=
"android.permission.INSTALL_LOCATION_PROVIDER"
/>
<uses-permission
android:name
=
"android.permission.INSTALL_PACKAGES"
/>
<uses-permission
android:name
=
"android.permission.INTERNAL_SYSTEM_WINDOW"
/>
<uses-permission
android:name
=
"android.permission.INTERNET"
/>
<uses-permission
android:name
=
"android.permission.KILL_BACKGROUND_PROCESSES"
/>
<uses-permission
android:name
=
"android.permission.MANAGE_ACCOUNTS"
/>
<uses-permission
android:name
=
"android.permission.MANAGE_APP_TOKENS"
/>
<uses-permission
android:name
=
"android.permission.MASTER_CLEAR"
/>
<uses-permission
android:name
=
"android.permission.MODIFY_AUDIO_SETTINGS"
/>
<uses-permission
android:name
=
"android.permission.MODIFY_PHONE_STATE"
/>
<uses-permission
android:name
=
"android.permission.MOUNT_FORMAT_FILESYSTEMS"
/>
<uses-permission
android:name
=
"android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
/>
<uses-permission
android:name
=
"android.permission.PERSISTENT_ACTIVITY"
/>
<uses-permission
android:name
=
"android.permission.PROCESS_OUTGOING_CALLS"
/>
<uses-permission
android:name
=
"android.permission.READ_CALENDAR"
/>
<uses-permission
android:name
=
"android.permission.READ_CONTACTS"
/>
<uses-permission
android:name
=
"android.permission.READ_FRAME_BUFFER"
/>
<uses-permission
android:name
=
"com.android.browser.permission.READ_HISTORY_BOOKMARKS"
/>
<uses-permission
android:name
=
"android.permission.READ_INPUT_STATE"
/>
<uses-permission
android:name
=
"android.permission.READ_LOGS"
/>
<uses-permission
android:name
=
"android.permission.READ_OWNER_DATA"
/>
<uses-permission
android:name
=
"android.permission.READ_PHONE_STATE"
/>
<uses-permission
android:name
=
"android.permission.READ_SMS"
/>
<uses-permission
android:name
=
"android.permission.READ_SYNC_SETTINGS"
/>
<uses-permission
android:name
=
"android.permission.READ_SYNC_STATS"
/>
<uses-permission
android:name
=
"android.permission.REBOOT"
/>
<uses-permission
android:name
=
"android.permission.RECEIVE_BOOT_COMPLETED"
/>
<uses-permission
android:name
=
"android.permission.RECEIVE_MMS"
/>
<uses-permission
android:name
=
"android.permission.RECEIVE_SMS"
/>
<uses-permission
android:name
=
"android.permission.RECEIVE_WAP_PUSH"
/>
<uses-permission
android:name
=
"android.permission.RECORD_AUDIO"
/>
<uses-permission
android:name
=
"android.permission.REORDER_TASKS"
/>
<uses-permission
android:name
=
"android.permission.RESTART_PACKAGES"
/>
<uses-permission
android:name
=
"android.permission.SEND_SMS"
/>
<uses-permission
android:name
=
"android.permission.SET_ACTIVITY_WATCHER"
/>
<uses-permission
android:name
=
"android.permission.SET_ALWAYS_FINISH"
/>
<uses-permission
android:name
=
"android.permission.SET_ANIMATION_SCALE"
/>
<uses-permission
android:name
=
"android.permission.SET_DEBUG_APP"
/>
<uses-permission
android:name
=
"android.permission.SET_ORIENTATION"
/>
<uses-permission
android:name
=
"android.permission.SET_PREFERRED_APPLICATIONS"
/>
<uses-permission
android:name
=
"android.permission.SET_PROCESS_LIMIT"
/>
<uses-permission
android:name
=
"android.permission.SET_TIME"
/>
<uses-permission
android:name
=
"android.permission.SET_TIME_ZONE"
/>
<uses-permission
android:name
=
"android.permission.SET_WALLPAPER"
/>
<uses-permission
android:name
=
"android.permission.SET_WALLPAPER_HINTS"
/>
<uses-permission
android:name
=
"android.permission.SIGNAL_PERSISTENT_PROCESSES"
/>
<uses-permission
android:name
=
"android.permission.STATUS_BAR"
/>
<uses-permission
android:name
=
"android.permission.SUBSCRIBED_FEEDS_READ"
/>
<uses-permission
android:name
=
"android.permission.SUBSCRIBED_FEEDS_WRITE"
/>
<uses-permission
android:name
=
"android.permission.SYSTEM_ALERT_WINDOW"
/>
<uses-permission
android:name
=
"android.permission.UPDATE_DEVICE_STATS"
/>
<uses-permission
android:name
=
"android.permission.USE_CREDENTIALS"
/>
<uses-permission
android:name
=
"android.permission.VIBRATE"
/>
<uses-permission
android:name
=
"android.permission.WAKE_LOCK"
/>
<uses-permission
android:name
=
"android.permission.WRITE_APN_SETTINGS"
/>
<uses-permission
android:name
=
"android.permission.WRITE_CALENDAR"
/>
<uses-permission
android:name
=
"android.permission.WRITE_CONTACTS"
/>
<uses-permission
android:name
=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
<uses-permission
android:name
=
"android.permission.WRITE_GSERVICES"
/>
<uses-permission
android:name
=
"com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"
/>
<uses-permission
android:name
=
"android.permission.WRITE_OWNER_DATA"
/>
<uses-permission
android:name
=
"android.permission.WRITE_SECURE_SETTINGS"
/>
<uses-permission
android:name
=
"android.permission.WRITE_SETTINGS"
/>
<uses-permission
android:name
=
"android.permission.WRITE_SMS"
/>
<uses-permission
android:name
=
"android.permission.WRITE_SYNC_SETTINGS"
/>
测试结果显示,在HTC G10(Android2.3.5)中应用程序使用第三方签名无法获得以下的 permission:
android
.
permission
.
ACCESS_4G_RADIO_DISABLE
android
.
permission
.
ACCESS_4G_STATE
android
.
permission
.
ACCESS_BLUETOOTH_PRINTER
android
.
permission
.
ACCESS_CACHE_FILESYSTEM
android
.
permission
.
ACCESS_CHECKIN_PROPERTIES
android
.
permission
.
ACCESS_FM_RECEIVER
android
.
permission
.
ACCESS_FM_TRANSMITTER
android
.
permission
.
ACCESS_SURFACE_FLINGER
android
.
permission
.
ACCESS_USBNET_STATE
android
.
permission
.
ACCESS_WIMAX_STATE
android
.
permission
.
ACCOUNT_MANAGER
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_APPWIDGET
android
.
permission
.
BIND_DEVICE_ADMIN
android
.
permission
.
BIND_INPUT_METHOD
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_4G_STATE
android
.
permission
.
CHANGE_BACKGROUND_DATA_SETTING
android
.
permission
.
CHANGE_COMPONENT_ENABLED_STATE
android
.
permission
.
CHANGE_USBNET_STATE
android
.
permission
.
CHANGE_WIMAX_STATE
android
.
permission
.
CLEAR_APP_USER_DATA
android
.
permission
.
CONTROL_LOCATION_UPDATES
android
.
permission
.
COPY_PROTECTED_DATA
android
.
permission
.
DELETE_CACHE_FILES
android
.
permission
.
DELETE_PACKAGES
android
.
permission
.
DEVICE_POWER
android
.
permission
.
DIAGNOSTIC
android
.
permission
.
DUMP
android
.
permission
.
FACTORY_TEST
ti
.
permission
.
FMRX
ti
.
permission
.
FMRX_ADMIN
android
.
permission
.
FORCE_BACK
android
.
permission
.
FORCE_STOP_PACKAGES
android
.
permission
.
GLOBAL_SEARCH
android
.
permission
.
GLOBAL_SEARCH_CONTROL
android
.
permission
.
HARDWARE_TEST
android
.
permission
.
INITIATE_4G_SCAN
android
.
permission
.
INITIATE_4G_SCAN_DATA_SERVICE_DISRUPTIVE
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_USB
android
.
permission
.
MASTER_CLEAR
android
.
permission
.
MODIFY_PHONE_STATE
android
.
permission
.
MOVE_PACKAGE
android
.
permission
.
NET_ADMIN
android
.
permission
.
NET_RAW
android
.
permission
.
NFC
android
.
permission
.
PACKAGE_USAGE_STATS
android
.
permission
.
PERFORM_CDMA_PROVISIONING
android
.
permission
.
READ_FRAME_BUFFER
android
.
permission
.
READ_INPUT_STATE
android
.
permission
.
READ_USER_DICTIONARY
android
.
permission
.
REBOOT
android
.
permission
.
RECEIVE_EMERGENCY_BROADCAST
android
.
permission
.
SET_ACTIVITY_WATCHER
com
.
android
.
alarm
.
permission
.
SET_ALARM
android
.
permission
.
SET_ORIENTATION
android
.
permission
.
SET_PREFERRED_APPLICATIONS
android
.
permission
.
SET_TIME
android
.
permission
.
SET_WALLPAPER_COMPONENT
android
.
permission
.
SHUTDOWN
android
.
permission
.
STATUS_BAR
android
.
permission
.
STATUS_BAR_SERVICE
android
.
permission
.
STOP_APP_SWITCHES
android
.
permission
.
UPDATE_DEVICE_STATS
android
.
permission
.
USE_SIP
android
.
permission
.
VPN
android
.
permission
.
WRITE_GSERVICES
android
.
permission
.
WRITE_SECURE_SETTINGS
android
.
permission
.
WRITE_USER_DICTIONARY
测试结果显示,在
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
结束!
package edu . cdut . robin ;import java . lang . reflect . Field ;import android . content . Context ;import android . content . pm . PackageManager ;import android . util . Log ;public class TestPermission extends Thread {final Context context ;final static String TAG = "robin" ;TestPermission ( Context context ){super ();this . context = context ;}public void run (){/* 使用getDeclaredFields获取属性*/Class < android . Manifest . permission > classType = android . Manifest . permission . class ;Field [] fields = classType . getFields ();for ( Field f : fields ) {Object o = null ;try {o = f . get ( "" );} catch ( IllegalArgumentException e ) {e . printStackTrace ();} catch ( IllegalAccessException e ) {e . printStackTrace ();}if ( o != null && o instanceof String ){String permission =( String ) o ;boolean res =( context . checkCallingOrSelfPermission ( permission )== PackageManager . PERMISSION_GRANTED );if (! res ){Log . w ( TAG , permission );}}System . out . println ( f );}}}
<uses-permission android:name = "android.permission.ACCESS_COARSE_LOCATION" /><uses-permission android:name = "android.permission.ACCESS_CHECKIN_PROPERTIES" /><uses-permission android:name = "android.permission.ACCESS_FINE_LOCATION" /><uses-permission android:name = "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /><uses-permission android:name = "android.permission.ACCESS_MOCK_LOCATION" /><uses-permission android:name = "android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name = "android.permission.ACCESS_SURFACE_FLINGER" /><uses-permission android:name = "android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name = "android.permission.ACCOUNT_MANAGER" /><uses-permission android:name = "android.permission.AUTHENTICATE_ACCOUNTS" /><uses-permission android:name = "android.permission.BATTERY_STATS" /><uses-permission android:name = "android.permission.BIND_APPWIDGET" /><uses-permission android:name = "android.permission.BIND_DEVICE_ADMIN" /><uses-permission android:name = "android.permission.BIND_INPUT_METHOD" /><uses-permission android:name = "android.permission.BIND_WALLPAPER" /><uses-permission android:name = "android.permission.BLUETOOTH" /><uses-permission android:name = "android.permission.BLUETOOTH_ADMIN" /><uses-permission android:name = "android.permission.BRICK" /><uses-permission android:name = "android.permission.BROADCAST_PACKAGE_REMOVED" /><uses-permission android:name = "android.permission.BROADCAST_SMS" /><uses-permission android:name = "android.permission.BROADCAST_STICKY" /><uses-permission android:name = "android.permission.BROADCAST_WAP_PUSH" /><uses-permission android:name = "android.permission.CALL_PHONE" /><uses-permission android:name = "android.permission.CALL_PRIVILEGED" /><uses-permission android:name = "android.permission.CAMERA" /><uses-permission android:name = "android.permission.CHANGE_COMPONENT_ENABLED_STATE" /><uses-permission android:name = "android.permission.CHANGE_CONFIGURATION" /><uses-permission android:name = "android.permission.CHANGE_NETWORK_STATE" /><uses-permission android:name = "android.permission.CHANGE_WIFI_MULTICAST_STATE" /><uses-permission android:name = "android.permission.CHANGE_WIFI_STATE" /><uses-permission android:name = "android.permission.CLEAR_APP_CACHE" /><uses-permission android:name = "android.permission.CLEAR_APP_USER_DATA" /><uses-permission android:name = "android.permission.CONTROL_LOCATION_UPDATES" /><uses-permission android:name = "android.permission.DELETE_CACHE_FILES" /><uses-permission android:name = "android.permission.DELETE_PACKAGES" /><uses-permission android:name = "android.permission.DEVICE_POWER" /><uses-permission android:name = "android.permission.DIAGNOSTIC" /><uses-permission android:name = "android.permission.DISABLE_KEYGUARD" /><uses-permission android:name = "android.permission.DUMP" /><uses-permission android:name = "android.permission.EXPAND_STATUS_BAR" /><uses-permission android:name = "android.permission.FACTORY_TEST" /><uses-permission android:name = "android.permission.FLASHLIGHT" /><uses-permission android:name = "android.permission.FORCE_BACK" /><uses-permission android:name = "android.permission.GET_ACCOUNTS" /><uses-permission android:name = "android.permission.GET_PACKAGE_SIZE" /><uses-permission android:name = "android.permission.GET_TASKS" /><uses-permission android:name = "android.permission.GLOBAL_SEARCH" /><uses-permission android:name = "android.permission.HARDWARE_TEST" /><uses-permission android:name = "android.permission.INJECT_EVENTS" /><uses-permission android:name = "android.permission.INSTALL_LOCATION_PROVIDER" /><uses-permission android:name = "android.permission.INSTALL_PACKAGES" /><uses-permission android:name = "android.permission.INTERNAL_SYSTEM_WINDOW" /><uses-permission android:name = "android.permission.INTERNET" /><uses-permission android:name = "android.permission.KILL_BACKGROUND_PROCESSES" /><uses-permission android:name = "android.permission.MANAGE_ACCOUNTS" /><uses-permission android:name = "android.permission.MANAGE_APP_TOKENS" /><uses-permission android:name = "android.permission.MASTER_CLEAR" /><uses-permission android:name = "android.permission.MODIFY_AUDIO_SETTINGS" /><uses-permission android:name = "android.permission.MODIFY_PHONE_STATE" /><uses-permission android:name = "android.permission.MOUNT_FORMAT_FILESYSTEMS" /><uses-permission android:name = "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /><uses-permission android:name = "android.permission.PERSISTENT_ACTIVITY" /><uses-permission android:name = "android.permission.PROCESS_OUTGOING_CALLS" /><uses-permission android:name = "android.permission.READ_CALENDAR" /><uses-permission android:name = "android.permission.READ_CONTACTS" /><uses-permission android:name = "android.permission.READ_FRAME_BUFFER" /><uses-permission android:name = "com.android.browser.permission.READ_HISTORY_BOOKMARKS" /><uses-permission android:name = "android.permission.READ_INPUT_STATE" /><uses-permission android:name = "android.permission.READ_LOGS" /><uses-permission android:name = "android.permission.READ_OWNER_DATA" /><uses-permission android:name = "android.permission.READ_PHONE_STATE" /><uses-permission android:name = "android.permission.READ_SMS" /><uses-permission android:name = "android.permission.READ_SYNC_SETTINGS" /><uses-permission android:name = "android.permission.READ_SYNC_STATS" /><uses-permission android:name = "android.permission.REBOOT" /><uses-permission android:name = "android.permission.RECEIVE_BOOT_COMPLETED" /><uses-permission android:name = "android.permission.RECEIVE_MMS" /><uses-permission android:name = "android.permission.RECEIVE_SMS" /><uses-permission android:name = "android.permission.RECEIVE_WAP_PUSH" /><uses-permission android:name = "android.permission.RECORD_AUDIO" /><uses-permission android:name = "android.permission.REORDER_TASKS" /><uses-permission android:name = "android.permission.RESTART_PACKAGES" /><uses-permission android:name = "android.permission.SEND_SMS" /><uses-permission android:name = "android.permission.SET_ACTIVITY_WATCHER" /><uses-permission android:name = "android.permission.SET_ALWAYS_FINISH" /><uses-permission android:name = "android.permission.SET_ANIMATION_SCALE" /><uses-permission android:name = "android.permission.SET_DEBUG_APP" /><uses-permission android:name = "android.permission.SET_ORIENTATION" /><uses-permission android:name = "android.permission.SET_PREFERRED_APPLICATIONS" /><uses-permission android:name = "android.permission.SET_PROCESS_LIMIT" /><uses-permission android:name = "android.permission.SET_TIME" /><uses-permission android:name = "android.permission.SET_TIME_ZONE" /><uses-permission android:name = "android.permission.SET_WALLPAPER" /><uses-permission android:name = "android.permission.SET_WALLPAPER_HINTS" /><uses-permission android:name = "android.permission.SIGNAL_PERSISTENT_PROCESSES" /><uses-permission android:name = "android.permission.STATUS_BAR" /><uses-permission android:name = "android.permission.SUBSCRIBED_FEEDS_READ" /><uses-permission android:name = "android.permission.SUBSCRIBED_FEEDS_WRITE" /><uses-permission android:name = "android.permission.SYSTEM_ALERT_WINDOW" /><uses-permission android:name = "android.permission.UPDATE_DEVICE_STATS" /><uses-permission android:name = "android.permission.USE_CREDENTIALS" /><uses-permission android:name = "android.permission.VIBRATE" /><uses-permission android:name = "android.permission.WAKE_LOCK" /><uses-permission android:name = "android.permission.WRITE_APN_SETTINGS" /><uses-permission android:name = "android.permission.WRITE_CALENDAR" /><uses-permission android:name = "android.permission.WRITE_CONTACTS" /><uses-permission android:name = "android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name = "android.permission.WRITE_GSERVICES" /><uses-permission android:name = "com.android.browser.permission.WRITE_HISTORY_BOOKMARKS" /><uses-permission android:name = "android.permission.WRITE_OWNER_DATA" /><uses-permission android:name = "android.permission.WRITE_SECURE_SETTINGS" /><uses-permission android:name = "android.permission.WRITE_SETTINGS" /><uses-permission android:name = "android.permission.WRITE_SMS" /><uses-permission android:name = "android.permission.WRITE_SYNC_SETTINGS" />
android . permission . ACCESS_4G_RADIO_DISABLEandroid . permission . ACCESS_4G_STATEandroid . permission . ACCESS_BLUETOOTH_PRINTERandroid . permission . ACCESS_CACHE_FILESYSTEMandroid . permission . ACCESS_CHECKIN_PROPERTIESandroid . permission . ACCESS_FM_RECEIVERandroid . permission . ACCESS_FM_TRANSMITTERandroid . permission . ACCESS_SURFACE_FLINGERandroid . permission . ACCESS_USBNET_STATEandroid . permission . ACCESS_WIMAX_STATEandroid . permission . ACCOUNT_MANAGERandroid . permission . ASEC_ACCESSandroid . permission . ASEC_CREATEandroid . permission . ASEC_DESTROYandroid . permission . ASEC_MOUNT_UNMOUNTandroid . permission . ASEC_RENAMEandroid . permission . BACKUPandroid . permission . BIND_APPWIDGETandroid . permission . BIND_DEVICE_ADMINandroid . permission . BIND_INPUT_METHODandroid . permission . BIND_WALLPAPERandroid . permission . BRICKandroid . permission . BROADCAST_PACKAGE_REMOVEDandroid . permission . BROADCAST_SMSandroid . permission . BROADCAST_WAP_PUSHandroid . intent . category . MASTER_CLEAR . permission . C2D_MESSAGEandroid . permission . CALL_PRIVILEGEDandroid . permission . CHANGE_4G_STATEandroid . permission . CHANGE_BACKGROUND_DATA_SETTINGandroid . permission . CHANGE_COMPONENT_ENABLED_STATEandroid . permission . CHANGE_USBNET_STATEandroid . permission . CHANGE_WIMAX_STATEandroid . permission . CLEAR_APP_USER_DATAandroid . permission . CONTROL_LOCATION_UPDATESandroid . permission . COPY_PROTECTED_DATAandroid . permission . DELETE_CACHE_FILESandroid . permission . DELETE_PACKAGESandroid . permission . DEVICE_POWERandroid . permission . DIAGNOSTICandroid . permission . DUMPandroid . permission . FACTORY_TESTti . permission . FMRXti . permission . FMRX_ADMINandroid . permission . FORCE_BACKandroid . permission . FORCE_STOP_PACKAGESandroid . permission . GLOBAL_SEARCHandroid . permission . GLOBAL_SEARCH_CONTROLandroid . permission . HARDWARE_TESTandroid . permission . INITIATE_4G_SCANandroid . permission . INITIATE_4G_SCAN_DATA_SERVICE_DISRUPTIVEandroid . permission . INJECT_EVENTSandroid . permission . INSTALL_LOCATION_PROVIDERandroid . permission . INSTALL_PACKAGESandroid . permission . INTERNAL_SYSTEM_WINDOWandroid . permission . MANAGE_APP_TOKENSandroid . permission . MANAGE_USBandroid . permission . MASTER_CLEARandroid . permission . MODIFY_PHONE_STATEandroid . permission . MOVE_PACKAGEandroid . permission . NET_ADMINandroid . permission . NET_RAWandroid . permission . NFCandroid . permission . PACKAGE_USAGE_STATSandroid . permission . PERFORM_CDMA_PROVISIONINGandroid . permission . READ_FRAME_BUFFERandroid . permission . READ_INPUT_STATEandroid . permission . READ_USER_DICTIONARYandroid . permission . REBOOTandroid . permission . RECEIVE_EMERGENCY_BROADCASTandroid . permission . SET_ACTIVITY_WATCHERcom . android . alarm . permission . SET_ALARMandroid . permission . SET_ORIENTATIONandroid . permission . SET_PREFERRED_APPLICATIONSandroid . permission . SET_TIMEandroid . permission . SET_WALLPAPER_COMPONENTandroid . permission . SHUTDOWNandroid . permission . STATUS_BARandroid . permission . STATUS_BAR_SERVICEandroid . permission . STOP_APP_SWITCHESandroid . permission . UPDATE_DEVICE_STATSandroid . permission . USE_SIPandroid . permission . VPNandroid . permission . WRITE_GSERVICESandroid . permission . WRITE_SECURE_SETTINGSandroid . permission . WRITE_USER_DICTIONARY
android . permission . ACCESS_CACHE_FILESYSTEMandroid . permission . ACCESS_CHECKIN_PROPERTIESandroid . permission . ACCESS_CONTENT_PROVIDERS_EXTERNALLYandroid . permission . ACCESS_MTK_MMHWandroid . permission . ACCESS_MTPandroid . permission . ACCESS_SURFACE_FLINGERandroid . permission . ACCESS_WIMAX_STATEandroid . permission . ACCOUNT_MANAGERcom . android . voicemail . permission . ADD_VOICEMAILandroid . permission . ALLOW_ANY_CODEC_FOR_PLAYBACKandroid . permission . ASEC_ACCESSandroid . permission . ASEC_CREATEandroid . permission . ASEC_DESTROYandroid . permission . ASEC_MOUNT_UNMOUNTandroid . permission . ASEC_RENAMEandroid . permission . BACKUPandroid . permission . BIND_ACCESSIBILITY_SERVICEandroid . permission . BIND_APPWIDGETandroid . permission . BIND_DEVICE_ADMINandroid . permission . BIND_INPUT_METHODandroid . permission . BIND_PACKAGE_VERIFIERandroid . permission . BIND_REMOTEVIEWSandroid . permission . BIND_TEXT_SERVICEandroid . permission . BIND_VPN_SERVICEandroid . permission . BIND_WALLPAPERandroid . permission . BRICKandroid . permission . BROADCAST_PACKAGE_REMOVEDandroid . permission . BROADCAST_SMSandroid . permission . BROADCAST_WAP_PUSHandroid . intent . category . MASTER_CLEAR . permission . C2D_MESSAGEandroid . permission . CALL_PRIVILEGEDandroid . permission . CHANGE_BACKGROUND_DATA_SETTINGandroid . permission . CHANGE_COMPONENT_ENABLED_STATEandroid . permission . CHANGE_WIMAX_STATEandroid . permission . CLEAR_APP_USER_DATAandroid . permission . CONFIRM_FULL_BACKUPandroid . permission . CONNECTIVITY_INTERNALandroid . permission . CONTROL_LOCATION_UPDATESandroid . permission . COPY_PROTECTED_DATAandroid . permission . CRYPT_KEEPERandroid . permission . DELETE_CACHE_FILESandroid . permission . DELETE_PACKAGESandroid . permission . DEVICE_POWERandroid . permission . DIAGNOSTICandroid . permission . DUMPandroid . permission . FACTORY_TESTandroid . permission . FORCE_BACKandroid . permission . FORCE_STOP_PACKAGESandroid . permission . GET_DETAILED_TASKSandroid . permission . GLOBAL_SEARCHandroid . permission . GLOBAL_SEARCH_CONTROLandroid . permission . GRANT_REVOKE_PERMISSIONSandroid . permission . HARDWARE_TESTandroid . permission . INJECT_EVENTSandroid . permission . INSTALL_LOCATION_PROVIDERandroid . permission . INSTALL_PACKAGESandroid . permission . INTERNAL_SYSTEM_WINDOWandroid . permission . MANAGE_APP_TOKENSandroid . permission . MANAGE_NETWORK_POLICYandroid . permission . MANAGE_USBandroid . permission . MASTER_CLEARandroid . permission . MODIFY_APPWIDGET_BIND_PERMISSIONSandroid . permission . MODIFY_NETWORK_ACCOUNTINGandroid . permission . MODIFY_PHONE_STATEandroid . permission . MOVE_PACKAGEandroid . permission . NET_ADMINandroid . permission . NFCandroid . permission . PACKAGE_USAGE_STATSandroid . permission . PACKAGE_VERIFICATION_AGENTandroid . permission . PERFORM_CDMA_PROVISIONINGandroid . permission . READ_CELL_BROADCASTSandroid . permission . READ_FRAME_BUFFERandroid . permission . READ_INPUT_STATEandroid . permission . READ_LOGSandroid . permission . READ_NETWORK_USAGE_HISTORYandroid . permission . READ_PRIVILEGED_PHONE_STATEandroid . permission . READ_PROFILEandroid . permission . READ_SOCIAL_STREAMandroid . permission . READ_USER_DICTIONARYandroid . permission . REBOOTandroid . permission . RECEIVE_EMERGENCY_BROADCASTandroid . permission . REMOTE_AUDIO_PLAYBACKandroid . permission . REMOVE_TASKSandroid . permission . RETRIEVE_WINDOW_CONTENTandroid . permission . SEND_SMS_NO_CONFIRMATIONandroid . permission . SERIAL_PORTandroid . permission . SET_ACTIVITY_WATCHERcom . android . alarm . permission . SET_ALARMandroid . permission . SET_ALWAYS_FINISHandroid . permission . SET_ANIMATION_SCALEandroid . permission . SET_DEBUG_APPandroid . permission . SET_KEYBOARD_LAYOUTandroid . permission . SET_ORIENTATIONandroid . permission . SET_POINTER_SPEEDandroid . permission . SET_PREFERRED_APPLICATIONSandroid . permission . SET_PROCESS_LIMITandroid . permission . SET_SCREEN_COMPATIBILITYandroid . permission . SET_TIMEandroid . permission . SET_WALLPAPER_COMPONENTandroid . permission . SHUTDOWNandroid . permission . SIGNAL_PERSISTENT_PROCESSESandroid . permission . START_ANY_ACTIVITYandroid . permission . STATUS_BARandroid . permission . STATUS_BAR_SERVICEandroid . permission . STOP_APP_SWITCHESandroid . permission . UPDATE_DEVICE_STATSandroid . permission . UPDATE_LOCKandroid . permission . USE_SIPandroid . permission . WRITE_APN_SETTINGSandroid . permission . WRITE_GSERVICESandroid . permission . WRITE_MEDIA_STORAGEandroid . permission . WRITE_PROFILEandroid . permission . WRITE_SECURE_SETTINGSandroid . permission . WRITE_SOCIAL_STREAMandroid . permission . WRITE_USER_DICTIONARY