android apk 的root 权限和USB adb 权限的区别

USB adb 权限是指,当adb 连接手机时,手机中的守护进程adbd 的权限为root 权限,从而它的子进程也具有root 权限,通常如果adb shell 看到是:

Android 4.0 以后版本:

C:\Users\mtk29\Desktop>adb shell

[email protected]:/ #

Android 2.3 版本:

C:\Users\mtk29\Desktop>adb shell

即表明adb 的连接是root 权限的,相反如果看到是$ 即表明是shell 权限

Android 的APK 本身都是不具备root 权限的,如果想启用root 权限,那么就必须借助具有root 权限的进程或者具有s bit 的文件,目前比较通用的手法是,手机root 后,内置了su到system/bin, 然后普通APP 即可借助su 命令来达到root 权限切换。

网络上已经有同仁修改su 命令,并通过一个APK 来控制su 命令的权限控制。

如常见的Superuser: http://androidsu.com/superuser/ 这样即可人为的控制root 权限的使用。((因很久都没有更新了,只能用于ICS 以及以前的版本))

SuperSU: http://forum.xda-developers.com/showthread.php?t=1538053 (更新速度很快,推荐使用)

综上所叙,如果adb 已经有root 权限,那么让apk 行使root 权限就很简单了。比如在JB 版本或者以前的版本上:

adb remount

adb push su /system/bin

adb push Superuser.apk /system/app

adb shell chmod 0644 /system/app/Superuser.apk

adb shell chmod 6755 /system/bin/su

adb reboot

时间: 2024-10-28 23:14:37

android apk 的root 权限和USB adb 权限的区别的相关文章

android apk的签名和权限问题

一. android apk的签名问题(http://blog.csdn.net/lyq8479/article/details/6401093) 1.为什么要给Android应用程序签名?      如果只能用一句简单的话语来回答这个问题的话,我会说:“这是Android系统所要求的”.      Android系统要求每一个Android应用程序必须要经过数字签名才能够安装到系统中,也就是说如果一个Android应用程序没有经过数字签名,是没有办法安装到系统中的!Android通过数字签名来

Android 4.4 Kitkat 使能 USB adb 功能

背景 在 Linux-3.8 以后,Android 的内核分支,便去掉了 f_adb,改使用 USB function FS,在用户空间实现 USB adb 功能.这篇文章根据原作者的 Google+ 文章,在 Atmel sama5 开发板上做了测试,将步骤记录如下,供需要使用的读者参考,你也可以查看作者原文:https://plus.google.com/111524780435806926688/posts/AaEccFjKNHE 在 Linux-3.10 上使能 USB ADB 编译内核

android usb adb流程[转]

android adb 概述 android adb的代码分为两部分: kernel层的代码在如下路径: drivers/usb/gadget/f_adb.c drivers/usb/gadget/android.c 他吐给上层应用的是如下的设备节点:/dev/android_adb 应用层的代码在如下路径: system/core/adb目录 针对device,该目录编译的输出是adbd 控制台上手动启动平板adb的功能的方法如下: step1:在init.rc中申明adbd服务 [cpp] 

android中获取root权限的方法以及原理(转)

一. 概述 本文介绍了android中获取root权限的方法以及原理,让大家对android 玩家中常说的“越狱”有一个更深层次的认识. 二. Root 的介绍 1. Root 的目的 可以让我们拥有掌控手机系统的权限,比如删除一些system/app下面的无用软件,更换开关机铃声和动画,拦截状态栏弹出的广告等. 2. Root的原理介绍 谷歌的android系统管理员用户就叫做root,该帐户拥有整个系统至高无上的权利,它可以访问和修改你手机几乎所有的文件,只有root才具备最高级别的管理权限

Android KitKat 4.4平台开发-添加USB ADB和MTP功能支持

ADB和MTP是Android基于USB实现的两个重要功能,极大地方便了用户在PC与Android设备之间的互操作,比如传输文件.安装应用.开发调试应用. 本文讲述如何在特定软硬件平台下支持Android ADB和MTP功能. Android版本: KitKat 4.4.2 Linux内核版本: 3.10 (Vendor Kernel) 硬件平台: Atmel SAMA5D3 SoC 针对Linux内核的更改 Merge Android Linux内核USB Gadget驱动到处理器厂商Linu

android 应用使用Root权限执行linux命令

要让Android应用使用Root权限,首先Android设备必须已经获得Root权限.之后可以通过下面的代码取得process对象. Process process = Runtime.getRuntime().exec("su"); Process对象包含可以取得输入输出流及错误流对象,使用OutputStream对象,可以向Linux写入命令,其中getInputStream将取得命令返回的数据,如果出错getErrorStream将返回错误信息. public abstract

android 利用 aapt 解析 apk 的应用名称 包名 版本号 权限等信息

在上传各大市场时发现 apk 上传后能自动解析出应用名称.包名.版本号.使用权限等信息,所以就研究了一下 1 直接解压 apk 解析  AndroidManifest.xml 是不行的,因为 apk 打包时 AndroidManifest.xml 文件被压缩混淆了. 2 主要有两种实现方式 1) 通过 aapt (android asset packaging tool) aapt 是打包.更新资源的一个工具,可以解析出 apk 的资源信息 2) apktool 著名的反编译工具,先反编译出 A

Android apk 获取系统权限的方式

Android系统中,权限等级分为 ["normal" | "dangerous"| "signature" | "signatureOrSystem"] normal .dangerous是一般apk都在Mainifest中声明即可获取的 signature必须要有系统级别的签名才能够获取到 signatureOrSystem 有系统级别签名或者有系统权限 以SET_PREFERRED_APPLICATIONS为例 使用si

Android应用申请ROOT权限

runtime = Runtime.getRuntime(); 这句话在java中的效果为获取电脑终端,比如在window下面就是dos窗口, 如: runtime.exec("color 2D") 与直接在dos下面直接输入color 2D的效果一样. 在安卓中相当于获取到Linux终端. 要让Android应用获得Root权限,首先Android设备必须已经获得Root权限. 应用获取Root权限的原理:让应用的代码执行目录获取最高权限.在Linux中通过chmod 777 [代码