系统级别与用户级别的应用程序
Android应用程序分为用户级别和系统级别。
push 与install的区别:
adb push是指定安装目录
例如,
adb push xxx.apk system/app
,是安装到了system/app目录下,在该目录下的程序是系统级别的。adb install是安装到data/app目录,属于用户级应用
通过命令行 adb push安装程序到系统目录下,而AndroidStudio是使用adb instanll安装到手机上的。
系统级别应用程序才具备的权限
众所周知,在6.0以下,软件在安装时候会被授予权限,在6.0及其以上,是动态申请权限。
但是,不是全部的权限都会被系统赋予,有些权限只能赋予系统级别运用程序。
以下,是无法赋予用户级别运用程序的权限列表(只能在系统级别程序使用的):
android.permission.ACCESS_CHECKIN_PROPERTIES
android.permission.ACCESS_SURFACE_FLINGER
android.permission.ACCOUNT_MANAGER
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.permission.CALL_PRIVILEGED
android.permission.CHANGE_COMPONENT_ENABLED_STATE
android.permission.CLEAR_APP_USER_DATA
android.permission.CONTROL_LOCATION_UPDATES
android.permission.DELETE_CACHE_FILES
android.permission.DELETE_PACKAGES
android.permission.DEVICE_POWER
android.permission.DIAGNOSTIC
android.permission.FACTORY_TEST
android.permission.FORCE_BACK
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.MANAGE_APP_TOKENS
android.permission.MASTER_CLEAR
android.permission.READ_FRAME_BUFFER
android.permission.READ_INPUT_STATE
android.permission.REBOOT
android.permission.SET_ACTIVITY_WATCHER
android.permission.SET_ORIENTATION
android.permission.SET_PREFERRED_APPLICATIONS
android.permission.SET_TIME
android.permission.STATUS_BAR
android.permission.UPDATE_DEVICE_STATS
android.permission.WRITE_GSERVICES
android.permission.WRITE_SECURE_SETTINGS
要获取这些权限,应用程序必须使用平台的系统密钥进行签名,即与系统保持一致的签名。但是,制造商不同,手机大厂不一样,基本排除了将这些权限赋予给用户级别的应
用程序。
个人觉得,这个目前适合,自家的系统定制的应用程序。
如何使用adb push命令行,下篇介绍。
资源参考: