读书人

adb 命令及使用权限有关问题

发布时间: 2012-06-21 13:42:41 作者: rapoo

adb 命令及使用权限问题

现在移动设备很多,手机管家也有不少,比如腾讯,91,360等,这些移动设备连接上电脑且开启调试模式,在windows环境下,只要是找到了驱动就可以使用adb命令。但是也有些特殊移动设备,没有找到驱动,就需要到linux环境下连接了,而在linux下就会遇到一些权限不够或者只读之类的问题。


使用adb devices出现下面的提示:

error: insufficient permissions for device
List of devices attached
???????????? no permissions


解决方法:

adb kill-server

sudo adb start-server

然后就可以了


push apk可能会遇到以下的提示:

failed to copy 'Camera.apk' to '/system/app/Camera.apk':Read-only file system


解决方法:

adb shell

mount -o remount rw /system

这样就给system改变成读写权限了。


push apk到模拟器里的时候,会报空间不够,是因为用eclipse或者是sdk打开的模拟器,使用以下命令即可

emulator -avd android -partition-size 512


在调试应用的时候,push进去的apk虽然到系统了,但是那些修改没有被执行,可能是使用mm命令,生成了apk跟odex文件,需要把两个都push进去才可以。


细心的网友可能发现Android的ROM中有很多odex文件,相对于 APK中的dex文件而言这个odex有什么作用呢?如果你仔细观察会发现文件名时一一对应的,同时那些对应的apk文件中没有dex文件。这样做可以使其厂商保证一定的反盗版,因为没有没有dex文件的apk是无法正常安装的,而厂商直接将odex和不完整的apk文件放到手机rom固化到/system/bin中可以让一般用户无法正常导出使用。


Adb命令列表

下列表格列出了adb支持的所有命令,并对它们的意义和使用方法做了说明.

CategoryCommandDescriptionCommentsOptions-d仅仅通过USB接口来管理abd.如果不只是用USB接口来管理则返回错误.-e仅仅通过模拟器实例来管理adb.如果不是仅仅通过模拟器实例管理则返回错误.-s <serialNumber>通过模拟器/设备的允许的命令号码来发送命令来管理adb (比如: "emulator-5556").如果没有指定号码,则会报错.Generaldevices查看所有连接模拟器/设备的设施的清单.查看 Querying for Emulator/Device Instances获取更多相关信息.help查看adb所支持的所有命令。.
version查看adb的版本序列号.
Debuglogcat [<option>] [<filter-specs>]将日志数据输出到屏幕上.
bugreport查看bug的报告,如dumpsys ,dumpstate ,和logcat 信息。
jdwp查看指定的设施的可用的JDWP信息.可以用 forward jdwp:<pid> 端口映射信息来连接指定的JDWP进程.例如:
adb forward tcp:8000 jdwp:472
jdb -attach localhost:8000Datainstall <path-to-apk>安装Android为(可以模拟器/设施的数据文件.apk指定完整的路径).
pull <remote> <local>将指定的文件从模拟器/设施的拷贝到电脑上.
push <local> <remote>将指定的文件从电脑上拷贝到模拟器/设备中.
Ports and Networkingforward <local> <remote>用本地指定的端口通过socket方法远程连接模拟器/设施端口需要描述下列信息:

读书人网 >其他数据库

热点推荐