$ adb shell pm [grant|revoke] <packageName> <permissionName> ...
清理某个 APP 所有数据(包括系统权限)
$ adb shell pm clear <packageName>
android 设备常用权限如下:
android.permission.READ_CALENDAR
android.permission.ACCESS_FINE_LOCATION
android.permission.READ_EXTERNAL_STORAGE
android.permission.READ_PHONE_STATE
android.permission.CAMERA
android.permission.RECORD_AUDIO
android.permission.READ_CONTACTS
android.permission.SYSTEM_ALERT_WINDOW
android.permission.ACCESS_CHECKIN_PROPERTIES
android.permission.ACCESS_COARSE_LOCATION
android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_LOCATION_EXTRA_COMMANDS
android.permission.ACCESS_MOCK_LOCATION
android.permission.ACCESS_NETWORK_STATE
android.permission.ACCESS_SURFACE_FLINGER
android.permission.ACCESS_WIFI_STATE
android.permission.ACCOUNT_MANAGER
android.permission.AUTHENTICATE_ACCOUNTS
android.permission.BATTERY_STATS
android.permission.BIND_APPWIDGET
android.permission.BIND_DEVICE_ADMIN
android.permission.BIND_INPUT_METHOD
android.permission.BIND_REMOTEVIEWS
android.permission.BIND_WALLPAPER
android.permission.BLUETOOTH
android.permission.BLUETOOTH_ADMIN
android.permission.BRICK
android.permission.BROADCAST_PACKAGE_REMOVED
android.permission.BROADCAST_SMS
android.permission.BROADCAST_STICKY
android.permission.BROADCAST_WAP_PUSH
android.permission.CALL_PHONE
android.permission.CALL_PRIVILEGED
android.permission.CAMERA
android.permission.CHANGE_COMPONENT_ENABLED_STATE
android.permission.CHANGE_CONFIGURATION
android.permission.CHANGE_NETWORK_STATE
android.permission.CHANGE_WIFI_MULTICAST_STATE
android.permission.CHANGE_WIFI_STATE
android.permission.CLEAR_APP_CACHE
android.permission.CLEAR_APP_USER_DATA
android.permission.CWJ_GROUP
android.permission.CELL_PHONE_MASTER_EX
android.permission.CONTROL_LOCATION_UPDATES
android.permission.DELETE_CACHE_FILES
android.permission.DELETE_PACKAGES
android.permission.DEVICE_POWER
android.permission.DIAGNOSTIC
android.permission.DISABLE_KEYGUARD
android.permission.DUMP
android.permission.EXPAND_STATUS_BAR
android.permission.FACTORY_TEST
android.permission.FLASHLIGHT
android.permission.FORCE_BACK
android.permission.GET_ACCOUNTS
android.permission.GET_PACKAGE_SIZE
android.permission.GET_TASKS
android.permission.GLOBAL_SEARCH
android.permission.HARDWARE_TEST
android.permission.INJECT_EVENTS
android.permission.INSTALL_LOCATION_PROVIDER
android.permission.INSTALL_PACKAGES
android.permission.INTERNAL_SYSTEM_WINDOW
android.permission.INTERNET
android.permission.KILL_BACKGROUND_PROCESSES
android.permission.MANAGE_ACCOUNTS
android.permission.MANAGE_APP_TOKENS
android.permission.MTWEAK_USER
android.permission.MTWEAK_FORUM
android.permission.MASTER_CLEAR
android.permission.MODIFY_AUDIO_SETTINGS
android.permission.MODIFY_PHONE_STATE
android.permission.MOUNT_FORMAT_FILESYSTEMS
android.permission.MOUNT_UNMOUNT_FILESYSTEMS
android.permission.NFC
android.permission.PERSISTENT_ACTIVITY
android.permission.PROCESS_OUTGOING_CALLS
android.permission.READ_CALENDAR
android.permission.READ_CONTACTS
android.permission.READ_FRAME_BUFFER
com.android.browser.permission.READ_HISTORY_BOOKMARKS
android.permission.READ_INPUT_STATE
android.permission.READ_LOGS
android.permission.READ_PHONE_STATE
android.permission.READ_SMS
android.permission.READ_SYNC_SETTINGS
android.permission.READ_SYNC_STATS
android.permission.REBOOT
android.permission.RECEIVE_BOOT_COMPLETED
android.permission.RECEIVE_MMS
android.permission.RECEIVE_SMS
android.permission.SEND_SMS
android.permission.RECEIVE_WAP_PUSH
android.permission.RECORD_AUDIO
android.permission.REORDER_TASKS
android.permission.RESTART_PACKAGES
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_ORIENTATION
android.permission.SET_PREFERRED_APPLICATIONS
android.permission.SET_PROCESS_LIMIT
android.permission.SET_TIME
android.permission.SET_TIME_ZONE
android.permission.SET_WALLPAPER
android.permission.SET_WALLPAPER_HINTS
android.permission.SIGNAL_PERSISTENT_PROCESSES
android.permission.STATUS_BAR
android.permission.SUBSCRIBED_FEEDS_READ
android.permission.SUBSCRIBED_FEEDS_WRITE
android.permission.UPDATE_DEVICE_STATS
android.permission.USE_CREDENTIALS
android.permission.USE_SIP
android.permission.VIBRATE
android.permission.WAKE_LOCK
android.permission.WRITE_APN_SETTINGS
android.permission.WRITE_CALENDAR
android.permission.WRITE_CONTACTS
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.WRITE_GSERVICES
com.android.browser.permission.WRITE_HISTORY_BOOKMARKS
android.permission.WRITE_SECURE_SETTINGS
android.permission.WRITE_SETTINGS
android.permission.WRITE_SMS
android.permission.WRITE_SYNC_SETTINGS
楼主原创,分享不易,转载请注明出处,谢谢。
最近一段时间一直在调试关于之前做的adb4Robotium跨进程测试框架出现的问题,随着对问题的不断研究,发现关于adb命令的执行权限这块的坑比较多,但目前网上关于这块的信息还是相对比较缺乏的,所以自己拿手机做了一些小实验,并写此文借以做个小结,方便以后查阅。
坑一、用户机就算是已经root了,但默认运行所有命令时都仍然是普通用户身份,除非
原文地址:http://blog.163.com/ymguan@yeah/blog/static/14007287220133149477594/
1. 显示当前运行的全部模拟器:
adb devices
2. 安装应用程序:
adb install -r 123.apk
3. 获取模拟器中的文件:
adb pull
4. 向模拟器中写文件:
lsusb to get sth. like
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
sudo -e /etc/udev/rules.d/70-android.rules
add a...
免root获取adb权限是指在Android手机中,不需要进行root操作,仍能够获取并使用adb(Android Debug Bridge)的权限。
在传统的情况下,如果想要使用adb命令进行连接手机并执行一些操作,通常需要先对手机进行root操作,以获得足够的权限来执行adb命令。但是,对手机进行root操作可能会导致潜在的安全问题,例如存在恶意软件或应用的权限滥用风险。
为了解决这个问题,一些手机制造商和开发者提供了一种免root获取adb权限的方法。这种方法通常需要满足以下条件:
1. 开启开发者选项:在手机设置中,需要进入关于手机的页面,点击多次版本号或者构建号,即可激活开发者选项。
2. 启用USB调试:在开发者选项中,需要打开USB调试选项。
3. 授权USB调试,允许电脑或其他设备连接:当你通过USB数据线将手机连接到电脑时,手机会弹出一个提示框,询问是否信任该电脑。选择信任后,即可授权USB调试模式。
4. 安装ADB驱动和平台工具:在电脑中下载并安装相应的ADB驱动和平台工具,以便能够在电脑中执行adb命令。
通过以上步骤,即可在不进行root操作的情况下,使用ADB命令进行相关操作,如文件传输、安装应用程序等。这种方法大大降低了安全风险,并方便了开发者和普通用户的adb操作。同时,具体的步骤可能因手机品牌和操作系统版本的不同而有所差异,可以根据具体操作说明进行操作。