解决Android Studio Loading Devices问题

目录

一、解决办法(普通):

二、解决办法的优化

三、解决办法的进一步优化


问题:windows 11 电脑,每次开机,打开Android Studio,都会显示Loading Devices,连接不上设备。

原因:adb的端口被其他进程占用了。

目的:希望Android Studio 能够连接上手机设备。

一、解决办法(普通):

1、打开CMD命令行

2、在命令行中执行如下命令

第一步:找到占用5037端口的进程

netstat -aon|findstr "5037"

第二步:杀掉占用端口的进程

taskkill /pid {进程ID} /f

比如:taskkill /pid 6272 /f

第三步:启动adb

adb start-server

二、解决办法的优化

对【 一、 解决办法(普通)】进行包装,写成.java文件,执行java文件就很快了,提高工作效率。

问题:每天都要执行【 一、 解决办法(普通)】的流程,很耗时

目的:希望能执行一个.java文件,java文件封装了上述命令流程。

java代码如下:

import java.io.*;/***netstat -aon|findstr "5037"taskkill /pid 30312 /fadb start-server*/
public class CmdLoadingDevices {public static void main(String[] args) {try {ProcessBuilder processBuilder = new ProcessBuilder("cmd.exe", "/c", "netstat -aon|findstr \"5037\"");processBuilder.redirectErrorStream(true);Process process = processBuilder.start();InputStream inputStream = process.getInputStream();BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "GBK")); String line;while ((line = reader.readLine()) != null) {System.out.println("PJ11 :"+line);if(line.contains(":5037")){String[]arr =  line.split(" ");int length = arr.length;System.out.println("PJ22 :"+arr[length-1]);String processIdOfOccupyPort = arr[length-1];String cmdKill = "taskkill /pid "+processIdOfOccupyPort+" /f";ProcessBuilder processBuilderKill = new ProcessBuilder("cmd.exe", "/c", cmdKill);processBuilderKill.redirectErrorStream(true);Process processKill = processBuilderKill.start();processKill.waitFor();String cmdStartServer = "adb start-server";ProcessBuilder processBuilderStartServer = new ProcessBuilder("cmd.exe", "/c", cmdStartServer);processBuilderStartServer.redirectErrorStream(true); Process processStartServer = processBuilderStartServer.start();int exitCode = processStartServer.waitFor();if (exitCode != 0){System.out.println("PJ22 :错误");} else {System.out.println("完成");}break;}}process.waitFor();} catch (IOException | InterruptedException e) {e.printStackTrace();}}
}

使用:

1、将上述CmdLoadingDevices.java 文件编译成CmdLoadingDevices.class文件。

javac -encoding UTF-8 D:\PJ\Private\javaJar\CmdLoadingDevices.java

2、执行文件

java CmdLoadingDevices

3、执行完成,Android Studio连接上了设备,OK。

4、整体使用命令行

5、完成。

三、解决办法的进一步优化

对【 二、 解决办法的优化】的包装,打成jar包,执行jar包就更快了,提高工作效率。

使用说明:

1、执行java -jar CmdLoadingDevices.jar

2、若是命令行输出:错误,则需要重新执行底1步;

若是命令行输出:完成,则OK。

具体生成jar包的步骤如下:

1、编译java文件

javac -encoding UTF-8 D:\PJ\Private\javaJar\CmdLoadingDevices.java

2、执行

jar -cvf CmdLoadingDevices.jar CmdLoadingDevices.class

3、执行java -jar CmdLoadingDevices.jar ,报错:没有主清单属性

a、重命名,将CmdLoadingDevices.jar重命名为CmdLoadingDevices.zip

b、解压CmdLoadingDevices.zip为CmdLoadingDevices文件夹

c、打开CmdLoadingDevices文件夹,用记事本打开文件MANIFEST.MF

d、在文件MANIFEST.MF中添加

Main-Class: CmdLoadingDevices

整个文件内容如下:

Manifest-Version: 1.0
Created-By: 11.0.19 (Amazon.com Inc.)
Main-Class: CmdLoadingDevices

对文件MANIFEST.MF的修改点:

在第三行的位置写入 Main-Class: CmdLoadingDevices (注意冒号后面有一个空格,整个文件最后有一行空行),保存。

4、将CmdLoadingDevices文件夹重新打成zip压缩包(CmdLoadingDevices.zip)

5、重命名,将CmdLoadingDevices.zip重命名为CmdLoadingDevices.jar

6、执行java -jar CmdLoadingDevices.jar

7、若是命令行输出:错误,则需要重新执行底6步;

若是命令行输出:完成,则OK。

8、完成。

附件(页面顶部的资源下载):jar包Jar包链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/797510.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jpa中QueryPlanCache查询计划JPQL缓存

// 所以,项目大,缓存的JPQL多,占用的堆空间也多 // 在in的场景下,可能会出现内存泄露 // 因为各种Repository的查询,并且随着in的参数个数不同,queryPlanCache缓存的in的sql越来越多,这样时间久了就会出现无法释放,甚至可能出现OOM // 我们可以通过hibernate.query.plan_cache_…

css实现更改checkbox的样式;更改checkbox选中后的背景色;更改checkbox选中后的icon

<input class"check-input" type"checkbox"> .check-input {width: 16px;height: 16px;} /* 设置默认的checkbox样式 */input.check-input[type"checkbox"] {-webkit-appearance: none; /* 移除默认样式 */border: 1px solid #999;outl…

鹏哥C语言复习——结构体

目录 结构体声明&#xff1a; 结构体内存存储相关介绍&#xff1a; 结构体的初始化与使用&#xff1a; 结构体的初始化&#xff1a; 结构体的使用&#xff1a; 结构体对齐&#xff1a; 结构体对齐原则解释&#xff1a; 结构体对齐存在的原因&#xff1a; #pragma pack…

第十四届蓝桥杯省赛大学C组(C/C++)三国游戏

原题链接&#xff1a;三国游戏 小蓝正在玩一款游戏。 游戏中魏蜀吴三个国家各自拥有一定数量的士兵 X,Y,Z&#xff08;一开始可以认为都为 0&#xff09;。 游戏有 n 个可能会发生的事件&#xff0c;每个事件之间相互独立且最多只会发生一次&#xff0c;当第 i 个事件发生时…

Web API(二)之事件监听类型处理程序

Web API&#xff08;二&#xff09;之事件监听&类型&处理程序 事件事件监听事件类型事件处理程序 事件类型鼠标事件键盘事件焦点事件文本框输入事件 事件对象环境对象回调函数 学会通过为DOM注册事件来实现可交互的网页特效。 能够判断函数运行的环境并确字 this 所指代…

人工智能研究生前置知识—Anaconda与python工作环境

人工智能研究生前置知识—Anaconda与python工作环境 python环境管理 python工作环境的管理是需要满足的基本条件&#xff0c;指的是不同的python版本之间的切换。或者说是允许安装不同版本的python 解决&#xff1a;conda是一个跨平台的包管理工具&#xff0c;其环境管理功能允…

Docker容器与虚拟化技术:OpenEuler 部署 ES 与 Kibana

目录 一、实验 1.环境 2.OpenEuler 部署 ES (EalasticSearch) 3.OpenEuler 部署 Kibana 4.部署 Elasticvue插件 5.使用cpolar内网穿透 6.使用Elasticvue 一、实验 1.环境 &#xff08;1&#xff09;主机 表1 主机 系统架构版本IP备注LinuxopenEuler22.03 LTS SP2 1…

RabbitMQ3.13.x之九_Docker中安装RabbitMQ

RabbitMQ3.13.x之_Docker中安装RabbitMQ 文章目录 RabbitMQ3.13.x之_Docker中安装RabbitMQ1. 官网2. 安装1 .拉取镜像2. 运行容器 3. 访问 1. 官网 rabbitmq - Official Image | Docker Hub 2. 安装 1 .拉取镜像 docker pull rabbitmq:3.13.0-management2. 运行容器 # lates…

就业班 第二阶段 2401--4.1 day10 shell之“三剑客”+Expect

十一、shell 编程-grep egrep 支持正则表达式的拓展元字符 &#xff08;或grep -E&#xff09; #egrep [0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3} file1.txt [rootnewrain ~]# num11 1、运用正则&#xff0c;判断需要[[ ]] [rootnewrain ~]# [[ $num1 ~ ^[0-9]$ ]] &a…

Java类和对象之访问限制

学习-Java类和对象之访问限制 100 任务要求参考答案评论28 任务描述相关知识 defaultpublicprivateprotected编程要求测试说明 任务描述 本关任务&#xff1a;实现图书类&#xff0c;该类包含了图书的基本属性和信息。 相关知识 为了完成本关任务&#xff0c;你需要掌握&…

C++ 一种简单的软件验证码 程序授权使用 收费付费使用 无需注册 用机器码得到一个加密值 再对比加密值是否一致 只需加密

简单软件授权方案 1、获取机器码&#xff0c;发给软件开发者 2、开发者用机器码加密得到一个密文 发给使用者 3、使用者 用这个密文 与本地计算密文比较密文是否一致&#xff0c;一致就把密文写入到注册表&#xff0c;下次登录从注册表读密文对比。 &#xff08;最重要的是密…

设计模式总结-适配器模式

适配器模式 模式动机模式定义模式结构适配器模式实例与解析实例一&#xff1a;仿生机器人实例二&#xff1a;加密适配器 总结 模式动机 在软件开发中采用类似于电源适配器的设计和编码技巧被称为适配器模式。 通常情况下&#xff0c;客户端可以通过目标类的接口访问它所提供的…

ollama 本地轻松安装及使用docker web

这里视频其实还是蛮多的&#xff0c;环境是win10 Linux当然更好&#xff0c;奈何win10还有很多其他的AIGC的环境 所以还是索性在一个环境上比较好 1 下载 Download Ollama on macOS 修改成windows 有windows 版本所以直接下载 下载完毕后直接cmd 输入相应的下载模型 这里…

Qt实现Kermit协议(二)

3 实现 3.1 Kermit 该模块是Kermit协议实现类。 3.1.1 Kermit定义 /*|<------Included in CHECK----->|| |----------------------------- - --------| MARK | LEN | SEQ | TYPE | DATA | CHECK |<terminator>----------------------------- - …

一套C#自主版权+应用案例的手麻系统源码

手术麻醉信息管理系统源码&#xff0c;自主版权应用案例的手麻系统源码 手术麻醉信息管理系统包含了患者从预约申请手术到术前、术中、术后的流程控制。手术麻醉信息管理系统主要是由监护设备数据采集子系统和麻醉临床系统两个子部分组成。包括从手术申请到手术分配&#xff0c…

如何做好 Code Review?【下】

本文来自极狐GitLab 资源中心。原文链接&#xff1a;https://resources.gitlab.cn/articles/614fb704-882f-4601-927f-00a8b1dca2ed。 关联阅读 如何做好 Code Review&#xff1f;【上】如何做好 Code Review&#xff1f;【中】 GitLab 是一个全球知名的一体化 DevOps 平台&a…

设计模式:观察者模式示例

让我们通过一个天气监测应用的例子来展示观察者模式。在这个应用中&#xff0c;WeatherStation 作为可观察的主题&#xff0c;它会跟踪天气数据的变化。Display 作为观察者&#xff0c;当天气数据更新时会显示最新的信息。 示例代码&#xff1a; import java.util.ArrayList;…

【御控物联】JavaScript JSON结构转换(19):数组To对象——规则属性重组

文章目录 一、JSON结构转换是什么&#xff1f;二、术语解释三、案例之《JSON数组 To JSON对象》四、代码实现五、在线转换工具六、技术资料 一、JSON结构转换是什么&#xff1f; JSON结构转换指的是将一个JSON对象或JSON数组按照一定规则进行重组、筛选、映射或转换&#xff0…

太阳能发电如何进行储存?常见的储存方法有3种!

在屋顶、院落或是其他太阳可以照射的地方&#xff0c;安装光伏板&#xff0c;即可实现太阳能发电&#xff0c;也称为光伏发电。这种发电方式是一种干净的可再生的新能源&#xff0c;越来越受到人们的青睐。太阳能发电后&#xff0c;如何将电能储存起来以备随时使用&#xff1f;…

纯小白蓝桥杯备赛笔记--DAY9(动态规划)

文章目录 一、动态规划基础&#xff08;1&#xff09;线性DP简介步骤例题数字三角形--1536破损的楼梯-3367安全序列-3423 &#xff08;2&#xff09;二维DP简介例题摆花--389选数异或--3711数字三角形--505 &#xff08;3&#xff09;最长公共子序列LCSLCS算法模型最长公共子序…