Android中adb操作命令详解

Android中adb操作命令详解
Android中adb操作命令详解

Android中adb操作命令详解

疑问一:adb是什么?

疑问二:adb有什么用?

疑问三:作为最关键的问题,adb工具如何用?

答疑一:adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。 adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。

答疑二:借助adb工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。其实简而言说,adb就是连接Android手机与 PC端的桥梁,可以让用户在电脑上对手机进行全面的操作。

答疑三:这也是今天这篇教程的关键所在,下面我会为大家介绍一下adb工具如何操作,并介绍几个常用命令以 备大家参考!

【软件安装】

步骤1:安装USB驱动

这个相关步骤其实笔者已经在Android前系列教程中介绍,故今天简要叙述一下过程。进入设置-应用程序-开发-USB调试,将第一个选项打 钩选中。然后通过USB线连接电脑,提示安装驱动。如果是32位的系统选择x86 文件夹安装驱动,如果是64位系统选择amd64文件夹。

步骤2:软件准备

将提供的软件工具包中的TMG文件夹,放到C盘根目录下。之所以放于此不是指定位置,只是为了后续在MS-DOS中进入文件夹带来方便。文件夹 路径:C:\TMG\

图为:软件素材准备

【操作命令】

1. 查看设备这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示adb devices

2.安装软件

adb install

adb install:这个命令将指定的apk文件安装到设备上

3. 卸载软件

adb uninstall <软件名>

adb uninstall -k <软件名>

如果加 -k 参数,为卸载软件但是保留配置和缓存文件.

4. 进入设备或模拟器的shell:

adb shell

通过上面的命令,就可以进入设备或模拟器的shell环境中,在这个L inux Shell中,你可以执行各种L inux的命令,另外如果只想执行一条shell命令,可以采用以下的方式:

adb shell [command]

如:adb shell dmesg会打印出内核的调试信息。

5. 发布端口

可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:

adb f or w ard tcp:5555 tcp:8000

6. 从电脑上发送文件到设备adb push <本地路径><远程路径>

用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)

7. 从设备上下载文件到电脑

adb pull <远程路径><本地路径>

用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑

8、查看bug报告

adb bugreport

9、记录无线通讯日志

一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:adb shell

logcat -b radio

10、获取设备的ID和序列号

adb get-product

adb get-serialno

adb shell

s q lite3

Android是一种基于Linux的自由及开放源代码的操作系统

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。2012年11月数据显示,Android占据全球智能手机操作系统市场76%的份额,中国市场占有率为90%。 中文名:安卓 外文名:Android 开发商:Google、开放手持设备联盟 发行商:Google 发行时间:2008年9月23日 编程语 言: C/C++(底层)Java等(应用 层) 系统家 族: 类Unix,Linux 源码模 式: 自由及开放源代码软件 内核类 型: 宏内核(Linux内核) 软件许 可: Apache License, GPL等 Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux 平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。 Android一词最早出现于法国作家利尔亚当(Auguste Villiers de l'Isle-Adam)在1886年发 表的科幻小说《未来夏娃》(L'ève future)中。他将外表像人的机器起名为Android。 Android的Logo是由Ascender公司设计的。其中的文字使用了Ascender公司专门制作的 称之为“Droid ” 的字体。Android是一个全身绿色的机器人,绿色也是Android的标志。颜 色采用了PMS 376C和RGB中十六进制的#A4C639来绘制,这是Android操作系统的品牌 象徵。有时候,它们还会使用纯文字的Logo。 2012年7月美国科技博客网站BusinessInsider评选出二十一世纪十款最重要电子产品,Android操作系统和iPhone等榜上有名。

Android adb命令的使用

ADB 详解使用方法 ADB全称Android Debug Bridge, 是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(如G1手机). 它的主要功能有: * 运行设备的shell(命令行) * 管理模拟器或设备的端口映射 * 计算机和设备之间上传/下载文件 * 将本地apk软件安装至模拟器或android设备 ADB是一个客户端-服务器端程序, 其中客户端是你用来操作的电脑, 服务器端是android设备.. 先说安装方法, 电脑上需要安装客户端. 客户端包含在sdk里. 设备上不需要安装, 只需要在手机上打开选项settings-applications-development-USB debugging. 对于Mac和Linux用户, 下载好的sdk解压后, 可以放~或者任意目录. 然后修改~/.bash_profile文件, 设置运行环境指向sdk的tools目录. 具体是打开~/.bash_profile文件(如果没有此文件也可以自行添加), 在里面加入一行: export PATH=${PATH}:<你的sdk目录>/tools 然后就可以使用adb命令了. 嫌安装麻烦的同学其实也可以省去上面安装步骤, 直接输入完整路径来使用命令。 对于windows xp用户, 需要先安装usb驱动android_usb_windows.zip, 然后如果你只打算使用adb而不想下载整个sdk的话, 可以下载这个单独的adb 工具包adb_win.zip 下载后解压, 把里面adb.exe 和AdbWinApi.dll 两个文件放到系统盘的windows/system32 文件夹里就可以了 现在说下ADB常用的几个命令 查看设备 * adb devices 这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示 安装软件 * adb install 这个命令将指定的apk文件安装到设备上. 卸载软件 * adb uninstall <软件名> * adb uninstall -k <软件名>

Android platform-tools ADB命令详解

ADB命令详解 1.启动和关闭ADB服务(adb start-server和adb kill-server) 关闭adb服务,可以使用下面的命令。 adb kill-server 在关闭adb服务后,要使用如下的命令启动adb服务。 adb start-server 2.查询当前模拟器/设备的实例(adb devices) 有时需要启动多个模拟器实例,或启动模拟器的同时通过USB数据线连接了真机。在这种情况下就需要使用如下的命令查询当前有多少模拟器或真机在线。 adb devices 执行上面的命令后,会输出如图1所示的信息。 图1 其中第1列的信息(emulator-5554、HT9BYL904399)表示模拟器或真机的标识。emulator-5554表示模拟器,其中5554表示adb服务为该模拟器实例服务的端口号。每启动一个新的模拟器实例,该端口号都不同。HT9BYL904399表示通过USB数据线连接的真机。如果在运行Android程序时有多个模拟器或真机在线,那么会出现一个选择对话框。如果选择在真机运行,ADT会直接将程序安装在手机上。输出信息的第2列都是device,表示当前设备都在线。如果该列的值是offline,表示该实例没有被连接到adb 上,或实例没有响应。

3.安装、卸载和运行程序(adb install、adb uninstall和am) 在Eclipse中运行Android程序必须得有Android源码工程。那如果只有apk文件(Android应用程序的发行包,相当于Windows中的exe文件)该如何安装和运行呢?答案就是adb命令。假设我们要安装一个ebook.apk文件,可以使用如下的命令。 adb install ebook.apk 假设ebook.apk中的package是net.blogjava.mobile.ebook,可以使用如下的命令卸载这个应用程序。 adb uninstall net.blogjava.mobile.ebook 关于package的概念在以后的学习中会逐渐体会到。现在只要知道package是Android 应用程序的唯一标识即可。如果在安装程序之前,该程序已经在模拟器或真机上存在了,需要先使用上面的命令卸载这个应用程序,然后再安装。或使用下面的命令重新安装。 adb install -r ebook.apk 在卸载应用程序时可以加上-k命令行参数保留数据和缓冲目录,只卸载应用程序。命令如下所示。 adb uninstall -k net.blogjava.mobile.ebook 如果机器上有多个模拟器或真机实例,需要使用-s命令行参数指定具体的模拟器或真机。例如,下面的命令分别在模拟器和真机上安装、重新安装和卸载应用程序。 在emulator-5554模拟器上安装ebook.apk adb -s emulator-5554 install ebook.apk 在真机上安装ebook.apk adb -s HT9BYL904399 install ebook.apk 在emulator-5554模拟器上重新安装ebook.apk adb -s emulator-5554 install -r ebook.apk 在真机上重新安装ebook.apk adb -s HT9BYL904399 install -r ebook.apk 在emulator-5554模拟器上卸载ebook.apk(不保留数据和缓冲目录)

安卓手机adb常用命令

ADB常用的几个命令: 1. 查看设备 adb devices 查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示 2. 安装软件 adb install [-r] [-s] 将指定的apk文件安装到设备上. -r 强制安装(在某些情况下可以已有些应用程序在运行或不可写,可加上此参数强制安装) -s 将apk文件安装在SD-Card 3. 卸载软件 adb uninstall [-k] <软件名> 如果加 -k 参数,为卸载软件但是保留配置和缓存文件. 4. 从电脑上发送文件到设备 adb push <本地路径> <远程路径> 用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机) 例:传送文件到手机中,如: adb push recovery.img /sdcard/recovery.img 将本地目录中的 recovery.img文件传送手机的 SD卡中并取同样的文件名 5. 从设备上下载文件到电脑

adb pull <远程路径> <本地路径> 用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑6. 显示帮助信息 adb help 显示帮助信息 7. 显示ADB命令版本号 adb version 8. 启动计算机adb 服务进程 adb start-server 也可以直接使用adb devices命令时自动开启 9. 关闭计算机adb 服务进程 adb kill-server 可以关闭adb服务进程 10. 重启设备 adb reboot [bootloader|recovery] adb reboot-bootloader 重启有三种方式 1)直接重启设备回到使用界面adb reboot即可; 2)重启设备到bootloader引导模式:adb reboot-bootloader 或adb reboot bootloader 3)重启到recovery刷机模式:adb reboot recovery 11. 返回设备状态

Android权限清单

允许读写访问"properties"表在checkin数据库中,改值可以修改上传 允许一个程序访问CellID或WiFi热点来获取粗略的位置 允许一个程序访问精良位置(如GPS) < uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" > 允许应用程序访问额外的位置提供命令 允许程序创建模拟位置提供用于测试 允许程序访问有关GSM网络信息 允许程序使用SurfaceFlinger底层特性 允许程序访问Wi-Fi网络状态信息 允许程序发布系统级服务 允许程序更新手机电池统计信息 允许程序连接到已配对的蓝牙设备 允许程序发现和配对蓝牙设备 请求能够禁用设备 允许程序广播一个提示消息在一个应用程序包已经移除后 允许一个程序广播常用intents

Android操作系统发展史

Android操作系统发展史 今天我们来聊一聊Android系统的历史,首先我们就要先来说说Android系统这个名字的来历。Android这一词最先出现在法国作家利尔亚当在1886年发表的科幻小说《未来夏娃》中,作者将外表像人类的机器起名为Android,这也就是Android小人名字的由来。 知道了Android名字的来历我们再来看一下Android系统的来历。Android系统一开始并不是由谷歌研发出来的,Android系统原来的公司名字就叫做Android,谷歌公司在2005收购了这个仅成立22月的高科技企业。Android系统也开始由谷歌接手研发,Android 系统的负责人以及Android公司的CEO安迪·鲁宾成为谷歌公司的工程部副总裁,继续负责Android项目的研发工作。 在2007年11月5日这天,谷歌公司正式向外界展示了这款名为Android的操作系统,并且在这天谷歌宣布建立一个全球性的联盟组织,该组织由34家手机制造商、软件开发商、电信运营商以及芯片制造商共同组成。这一联盟将支持谷歌发布的手机操作系统以及应用软件,将共同开发Android系统的开放源代码。 看完Android系统的发展简介,下面就让我们一起看看具体的Android系统版本的升级更新以及代表机型有哪些。 Android 1.0 代表机型T-Mobile G1 在2008年,在GoogleI/O大会上,谷歌提出了Android HAL架构图,在同年8月18号,Android获得了美国联邦通信委员会(FCC)的批准,在2008年9月,谷歌正式发布了Android 1.0系统,这也是Android系统最早的版本。 在2008年,在智能手机领域还是诺基亚的天下,Symbian系统在智能手机市场中占有绝对优势,在这种前提下,谷歌发布的Android 1.0系统并没有被外界看好,甚至言论称最多一年谷歌就会放弃Android系统。

android常用的adb命令

第一部分: 1. ubuntu下配置环境anroid变量: 在终端执行 sudo gedit /etc/profile 打开文本编辑器,在最后追加#set android environment 2. 运行Eclipse,还需要配置JAVA环境变量 #set java environment JAVA_HOME=/home/loginname/jdk目录名 JRE_HOME=/home/loginname/jdk目录名/jre export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=/home/loginname/android-sdk-linux_86/tools:$PATH 保存后,重启 3. 加入设备ID标识到当前的android调试环境 在/home/loginname/.android文件中添加,android终端的设备标识ID 4. 更新sdk 【android update sdk】更新sdk 5. 常用命令: 【adb help】获取帮助 【adb get-serialno】获取设备串号 【adb root】获取root权限,对部分手机有用,大部分上市手机已经把这个功能给关闭了。获取root权限还可以通过豌豆夹等第三方工具。 【adb kill-server】杀死adb的server进程。 【adb start-server】启动adb的server进程。 【adb devices】查看建立连接的android终端。 【android list】显示所有android终端 【ddms】启动ddms 【adb remount】重新加载硬盘。 【adb reboot】重新启动终端。 【adb install /path/appname】安装应用程序 【adb uninstall com.android.helloworld】卸载helloworld,系统带的应用不可卸载。【adb push /sourcepath/filename /destinationpath/filename】从pc端拷贝一个文件到终端【adb pull /sourcepath/filename /destinationpath/filename】从终端拷贝一个文件到pc端【adb logcat -v time -s TAGNAME】显示自定义的TAGNAME并显示时间 【adb ppp】通过usb启动ppp 【adb monkey -p /path/appname -v 100】对程序进行强制测试100次 【adb shell】在pc端启动shell命令终端。

Android用户权限列表

我们在安装Android软件的时候,系统会提示该软件所需要的权限,相对于其他系统,android的权限非常多。我们在开发软件的时候,也需要声明相应的权限,比如希望软件能发短信,需要声明软件调用短信的权限,否则软件运行的时候就会报错。 Android的权限在AndroidManifest.xml文件里配置。AndroidManifest文件中有四个标签与permission有关,它们分别是 。其中最常用的是 ,当我们需要获取某个权限的时候就必须在我们的manifest文件中声明 。 [html]view plain copy 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... 11. 12. 的作用相似,两者之间的不同之处, 是android预定义的权限,是自己定义的权 限。 用的相对较少, 这两个标签就更少见了,简单说 就是声明一个标签,该标签代 表了一组permissions,而是为一组permissions声明了一个namespace。后面三个标签具体使用方法见后续文章。 定义方法如下:

安卓操作系统简介

安卓操作系统简介 简言: Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。目前,最新版本为Android 2.4 Gingerbread和Android 3.0 Honeycomb。 系统介绍: Android是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统,早期由Google开发,后由开放手持设备联盟(Open Handset Alliance)开发。它采用了软件堆层(software stack,又名以软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能;其他的应用软件则由各公司自行开发,部分程序以Java编写。 2010年末数据显示,仅正式推出两年的操作系统Android已经超越称霸十年的诺基亚(Nokia)Symbian OS系统,采用Android系统主要手机厂商包括宏达电子(HTC)、三星(SAMSUNG)、摩托罗拉(MOTOROLA)、LG、Sony Ericsson、魅族M9等,使之跃居全球最受欢迎的智能手机平台,Android系统不但应用于智能手机,也在平板电脑市场急速扩张。 系统架构: 应用程序: Android以Java为编程语言,使接口到功能,都有层出不穷的变化,其中Activity 等同于J2ME的MIDlet,一个Activity 类(class)负责创建视窗(window),一个活动中的Activity就是在foreground(前景)模式,背景运行的程序叫做Service。两者之间通过由ServiceConnection和AIDL连结,达到复数程序同时运行的效果。如果运行中的Activity 全部画面被其他Activity 取代时,该Activity 便被停止(stopped),甚至被系统清除(kill)。 View等同于J2ME的Displayable,程序人员可以通过View 类与“XML layout”档将UI放置在视窗上,Android 1.5的版本可以利用View 打造出所谓的Widgets,其实Widget只是View的一种,所以可以使用xml来设计layout,HTC 的Android Hero手机即含有大量的widget。至于ViewGroup 是各种layout 的基础抽象类(abstract class),ViewGroup之内还可以有ViewGroup。View的构造函数不需要再Activity中调用,但是Displayable的是必须的,在Activity 中,要通过findViewById()来从XML中取得View,Android的View类的显示很大程度上是从XML中读取的。View 与事件(event)息息相关,两者之间通过Listener 结合在一起,每一个View都可以注册一个event listener,例如:当View要处理用户触碰(touch)的事件时,就要向Android框架注册View.OnClickListener。另外还有Image等同于J2ME的BitMap。 中介软件 操作系统与应用程序的沟通桥梁,并用分为两层:函数层(Library)和虚拟机(Virtual Machine)。Bionic是Android 改良libc的版本。Android 同时包含了Webkit,所谓的Webkit 就是Apple Safari 浏览器背后的引擎。Surface flinger 是就2D或3D的内容显示到屏幕上。Android使用工具链(Toolchain)为Google自

adb基本的命令讲解教程【安卓通用】

一、【问与答】 疑问:adb是什么? 回答:adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS 来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket T CP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。 疑问:adb有什么用? 回答:借助adb工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。其实简而言说,adb就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作。 疑问:作为最关键的问题,adb工具如何用? 回答:这也是今天这篇教程的关键所在,下面我会为大家介绍一下adb工具如何操作,并介绍几个常用命令以备大家参考! 二、【准备工作】 步骤1:安装USB驱动 下载并安装H TC完整驱动程序( HTCDriver3.0.0.018.exe(13.48 MB, 下载次数: 75) ) 手机进入设置-应用程序-开发-USB调试,将第一个选项打钩选中。然后通过USB线连接电脑,提示安装驱动。 步骤2:软件准备 1、把ADB工具adb.rar(375.41 KB, 下载次数: 161) 解压放到你的电脑系统盘的根目录下 2、运行中,输入cmd进入命令提示符。以下命令均在命令提示符下进行。开始(点开始在输入框里输入CMD) 3、输入cd c:\adb回车,进入ADB所在目录

Android permission 访问权限说明手册

Android permission 访问权限说明手册 tech.er 2011年2月12日 android平台上的权限许可分得很细,如果软件无法正常执行时,首先要检查是不是缺少相关的permission声明,以下就把permission 访问权限列举出来供大家参考。 程序执行需要读取到安全敏感项必需在androidmanifest.xml中声明相关权限请求, 完整列表如下: android.permission.ACCESS_CHECKIN_PROPERTIES 允许读写访问”properties”表在checkin数据库中,改值可以修改上传( Allows read/write access to the “properties” table in the checkin database, to change values that get uploaded) android.permission.ACCESS_COARSE_LOCATION 允许一个程序访问CellID或WiFi热点来获取粗略的位置(Allows an application to access coarse (e.g., Cell-ID, WiFi) location) android.permission.ACCESS_FINE_LOCATION 允许一个程序访问精良位置(如GPS) (Allows an application to access fine (e.g., GPS) location) android.permission.ACCESS_LOCATION_EXTRA_COMMANDS 允许应用程序访问额外的位置提供命令(Allows an application to access extra location provider commands) android.permission.ACCESS_MOCK_LOCATION 允许程序创建模拟位置提供用于测试(Allows an application to create mock location providers for testing) android.permission.ACCESS_NETWORK_STATE 允许程序访问有关GSM网络信息(Allows applications to access information about networks) android.permission.ACCESS_SURFACE_FLINGER 允许程序使用SurfaceFlinger底层特性(Allows an application to use SurfaceFlinger’s low level features) android.permission.ACCESS_WIFI_STATE 允许程序访问Wi-Fi网络状态信息(Allows applications to access information about Wi-Fi networks) android.permission.ADD_SYSTEM_SERVICE 允许程序发布系统级服务(Allows an application to publish system-level services). android.permission.BATTERY_STATS 允许程序更新手机电池统计信息(Allows an application to update the collected battery statistics) android.permission.BLUETOOTH

Android本质上就是一个基于Linux内核的操作系统

Android本质上就是一个基于Linux内核的操作系统。与Ubuntu Linux、Fedora Linux 类似。只是Android在应用层专门为移动设备添加了一些特有的支持。既然Android是Linux内核的系统,那么基本的启动过程也应符合Linux的规则。如果研究过其他Linux 系统应该了解,一个完整的Linux系统首先会将一个Linux内核装载到内存,也就是编译Linux内核源代码生成的bzImage文件,对于为Android优化的Linux内核源代码会生成zImage文件。该文件就是Linux内核的二进制版本。由于zImage在内核空间运行,而我们平常使用的软件都是在应用空间运行(关于内核空间和应用空间的详细描述,可以参考《Android深度探索(卷1):HAL与驱动开发》一书的内容,在后续的各卷中将会对Android的整体体系进行全方位的剖析)。内核空间和应用空间是不能直接通过内存地址级别访问的,所以就需要建立某种通讯机制。 目前Linux有很多通讯机制可以在用户空间和内核空间之间交互,例如设备驱动文件(位于/dev目录中)、内存文件(/proc、/sys目录等)。了解Linux的同学都应该知道Linux的重要特征之一就是一切都是以文件的形式存在的,例如,一个设备通常与一个或多个设备文件对应。这些与内核空间交互的文件都在用户空间,所以在Linux内核装载完,需要首先建立这些文件所在的目录。而完成这些工作的程序就是本文要介绍的init。Init是一个命令行程序。其主要工作之一就是建立这些与内核空间交互的文件所在的目录。当Linux内核加载完后,要做的第一件事就是调用init程序,也就是说,init是用户空间执行的第一个程序。 在分析init的核心代码之前,还需要初步了解init除了建立一些目录外,还做了如下的工作 1. 初始化属性 2. 处理配置文件的命令(主要是init.rc文件),包括处理各种Action。 3. 性能分析(使用bootchart工具)。 4. 无限循环执行command(启动其他的进程)。 尽管init完成的工作不算很多,不过代码还是非常复杂的。Init程序并不是由一个源代码文件组成的,而是由一组源代码文件的目标文件链接而成的。这些文件位于如下的目录。 /system/core/init 其中init.c是init的主文件,现在打开该文件,看看其中的内容。由于init是命令行程序,所以分析init.c首先应从main函数开始,现在好到main函数,代码如下: int main(int argc, char **argv) { int fd_count = 0; struct pollfd ufds[4]; char *tmpdev; char* debuggable; char tmp[32]; int property_set_fd_init = 0; int signal_fd_init = 0;

完整版ADB手册范本

Android Debug Bridge Android调试桥接器,简称adb,是用于管理模拟器或真机状态的万能工具,采用了客户端- 服务器模型,包括三个部分: * 客户端部分,运行在开发用的电脑上,可以在命令行中运行adb命令来调用该客户端,像 ADB插件和DDMS这样的Android工具也可以调用adb客户端。 * 服务端部分,是运行在开发用电脑上的后台进程,用于管理客户端与运行在模拟器或真机 的守护进程通信。 * 守护进程部分,运行于模拟器或手机的后台。 当启动adb客户端时,客户端首先检测adb服务端进程是否运行,如果没有运行,则启动服务端。当服务端启动时,它会绑定到本地的TCP5037端口,并且监听从adb客户端发来的命令——所有的adb客户端都使用5037端口与adb服务端通信。 接下来服务端与所有正在运行的模拟器或手机连接。它通过扫描5555-5585之间的奇数号端口来搜索模拟器或手机,一旦发现adb守护进程,就通过此端口进行连接。需要说明的是,每一个模拟器或手机使用一对有序的端口,偶数号端口用于控制台连接,奇数号端口用于adb连接,例如: Emulator 1, console: 5554 Emulator 1, adb: 5555 Emulator 2, console: 5556 Emulator 2, adb: 5557... 即如果模拟器与adb在5555端口连接,则其与控制台的连接就是5554端口。 当服务端与所有的模拟器建立连接之后,就可以使用adb命令来控制或者访问了。因为服务端管理着连接并且可以接收到从多个adb客户端的命令,所以可以从任何一个客户端或脚本来控制任何模拟器或手机设备。 下文介绍了可以用来管理模拟器或手机的这些adb命令。如果是在Eclipse并且安装了ADT插件的环境下开发Android应用程序,就不需要从命令行使用adb了,ADT插件已经提供了透明的集成。不过,还是可以在调试等需要的时候直接使用adb。 使用adb命令 从开发用电脑的命令行或脚本文件中使用adb命令的用法是: adb [-d|-e|-s ] 当使用的时候,程序会调用adb客户端。因为adb客户端不需要关联到任何模拟器,所以如果有多个

adb工具操作命令详解

ADB工具操作命令详解 adb(Android Debug Bridge)是Android提供的一个通用的调试工具,说白了就是debug工具。借助这个工具,我们可以管理设备或手机模拟器的状态。 个人常用功能 1、在设备上运行shell命令 2、安装卸载程序 3、推送文件到设备中 4、从设备中推送文件到PC端 5、快速重启 工具需求 各机型不同不做详细介绍,请在自己机型区寻找方法 1、设备驱动(必须) 2、设备Rooted(非必须) 该工具已在开发环境中的platform-tools存在,这里就不提供了

常用操作命令 1. 查看设备 adb devices 这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示 2.安装软件 adb install adb install :这个命令将指定的apk文件安装到设备上 adb install -r :如果加-r参数会覆盖原来安装的软件并保留数据 注意:apk文件名不要使用中文且不要有空格号 adb常见安装错误提示说明

3. 卸载软件 adb uninstall adb uninstall <包名> adb uninstall -k <包名>如果加-k 参数,卸载软件但是保留配置和缓存文件. 4. 进入设备或模拟器的shell adb shell 通过上面的命令,就可以进入设备或模拟器的shell环境中,在这个Linux Shell中,你可以执行各种Linux的命令,另外如果只想执行一条shell命令,可以采用以下的方式: adb shell [command] 如:adb shell ls列出当前目录下的内容。 5. 从电脑上发送文件到设备 adb push <本地路径> <远程路径> 用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机) 6. 从设备上下载文件到电脑 adb pull <远程路径> <本地路径>

ADB 常用命令合集

ADB 常用命令合集 ADB (Android Debug Bridge) 说明:下面一些命令需要有root权限才能执行成功 快速启动dos窗口执行adb: 1. adb.exe所在路径添加到系统环境变量Path中 2. 配置快捷键启动dos 进入C:\WINDOWS\system32目录下,找到cmd.exe. 右击菜单 "发送到" -> 桌面快捷方式。 在桌面上右击"快捷方式到 cmd.exe" -> "属性" -> "快捷方式"页 -> 光标高亮"快捷键" -> 按下自定义快捷键 (如:Ctrl + Alt + Z) 任何情况下,按下Ctrl + Alt + Z启动dos窗口就可以执行adb命令了 -----------查看设备连接状态系列----------- adb get-serialno 获取设备的ID和序列号serialNumber adb devices 查询当前计算机上连接那些设备(包括模拟器和手机),输出格式: [serialNumber] [state] adb get-state 查看模拟器/设施的当前状态. 说明: 序列号[serialNumber]——由adb创建的一个字符串,这个字符串通过自己的控制端口- 唯一地识别一个模拟器/设备实例。一个序列号的例子: emulator-5554 -----------发送命令到设备系列----------- adb [-d|-e|-s ] -d 发送命令给usb连接的设备 -e 发送命令到模拟器设备 -s 发送命令到指定设备 如启动手机设备shell: adb -d shell adb forward 发布端口,可以设置任意的端口号,

Android权限大全

Android权限大全 允许程序写入外部存储,如SD卡上写文件 录音 允许编写短信 允许读写系统设置项 允许程序读写系统安全敏感的设置项 允许程序写入Google Map服务数据 写入联系人,但不可读取 写入日程,但不可读取 写入网络GPRS接入点设置 允许程序在手机屏幕关闭后后台进程仍然运行 允许振动 允许程序使用SIP视频服务 允许程序请求验证从AccountManager 更新设备状态 显示系统窗口 入或修改订阅内容的数据库 访问订阅信息的数据库

计算机与手机操作系统现状分析 —— 基于Android与iOS系统的比较

---------------------------------------------装--------------------------------- --------- 订 -----------------------------------------线---------------------------------------- 班级 10 金融工程1班 姓名 黄景豪 学号 10250502104 -

计算机与手机操作系统现状分析 ——基于Android与iOS系统的比较------------------------------------------------------------------------------------------------------------------------------------摘要:近年来,移动设备操作系统的竞争越演越热,本文通过研究目前市场中最为热门的Android系统和iOS系统的设计理念,用户界面,系统功能等来透析现有移动互联网操作系统的优缺点,来探索到未来移动互联网操作系统的影子和发展方向。同时以预测这两个系统在未来的市场表现并为国内相关企业提供一些创新的基本思路。 关键词:手机操作系统Android iOS 现状分析创新模式 1引言 2007年6月,苹果公司发布的使用iOS系统的iPhone智能手机,被证实真正的挖掘了智能手机所被人们忽略的潜能。由于iPhone的过于出色,将移动手机巨头摩托罗拉公司挤到破产边缘。而拥有Symbian系统,如日中天的诺基亚,在仅仅4年内,市值从2007年的1100亿欧元缩水到148亿欧元,也濒临破产危机。诺基亚新CEO斯蒂芬埃洛普表示:“现在的诺基亚真正成为了一个着火的平台。”iPhone的成功只是拉开了移动互联网时代的面纱,它带来的不仅仅是苹果公司10亿美元的销售额,还直接点燃了所有IT巨头对于被誉为是移动互联网未来的这块新蛋糕的争夺战。 同年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统,一款基于Linux的自由及开放源代码的操作系统。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。2012年11月数据显示,Android占据全球智能手机操作系统市场76%的份额,中国市场占有率为90%。摩托罗拉通过分离旗下的移动手机部门,投靠Google着手生产Android系统智能手机挽回败局,重新在市场上占有一席之地。 在当下,硬件已经不是核心竞争力,软件,也就是我们所谓的操作系统成为了战争的主角。在接下来的章节中,本文将对这两款操作系统进行剖析。 2操作系统简介 操作系统(Operating System)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。操作

相关文档
最新文档