Android adb.exe程序启动详细处理步骤如下:
1、打开Android adb.exe程序,输入: netstat -aon|findstr "5037" 回车;
2、5037 这是adb要的端口,有时候会被其他进程(程序)占用了(一般是会连接手机的软件)所以要查询是谁占用了,然后就可以Kill(停止)它
3、根据上图然后输入 taskkill /pid 1156 /f (1156就是占用此端口的进程id);正常情况下,就可以使用adb了,如果还是没有成功的,可以看看是不是adb.exe被电脑防火墙屏蔽了。
扩展资料:
1、Android adb.exe程序处理方法详细讲解:
cmd命令进入sdk/platform-tools文件下,adb kill-server;
启动adb服务,adb start-server;
如果启动失败,可能是某个进程占用了adb的5037端口,查找占用端口号5037的连接netstat -ano findstr "5037" ;
2、手动结束此进程,重启adb服务 adb start-server;
adb kill-server --停止adb服务;
adb start-server --开启adb服务;
参考资料来源:百度百科-Android系统级深入开发:移植与调试
AMS主要功能:
AMS是Android中最核心的服务,主要负责系统中四大组件的启动、切换、调度及应用进程的管理和调度等工作。还负责启动或杀死应用程序的进程。
WMS主要功能:
为所有窗口分配Surface。
管理Surface的显示顺序、尺寸、位置。
管理窗口动画。
输入系统相关:WMS是派发系统按键和触摸消息的最佳人选,当接收到一个触摸事件,它需要寻找一个最合适的窗口来处理消息。
PWS主要功能:
PMS 用来管理跟踪所有应用APK,包括安装,卸载,解析,控制权限等。
SystemServer也是一个进程,包括AMS、PMS、WMS等等。
zygote意为“受精卵“。Android是基于Linux系统的,而在Linux中,所有的进程都是由init进程直接或者是间接fork出来的,zygote进程也不例外。
App进程是用户点击桌面icon时,通过Launcher进程请求SystemServer,再调用Zygote孵化的。
①点击启动一个App,Launcher进程采用Binder IPC向ActivityManagerService发起startActivity请求;
②ActivityManagerService接收到请求后,向zygote进程发送创建进程的请求;
③Zygote进程fork出新的子进程,即App进程;
④App进程通过Binder IPC向sytem_server进程发起绑定Application请求;
⑤system_server进程在收到请求后,进行一系列准备工作后,再通过binder IPC向App进程发送scheduleLaunchActivity请求;
⑥App进程的binder线程(ApplicationThread)在收到请求后,通过handler向主线程发送LAUNCH_ACTIVITY消息;
⑦主线程在收到Message后,通过发射机制创建目标Activity,并回调Activity.onCreate()等方法。
⑧到此,App便正式启动,开始进入Activity生命周期,执行完onCreate/onStart/onResume方法,UI渲染结束后便可以看到App的主界面。
备注:
Launcher,PMS,Zygote,App进程是三个独立的进程,相互通信就需要使用进程间通信机制。与Zygote通信是使用的socket通信,Launcher,PMS,App进程间使用的是Binder机制。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)