当前位置:首页 » 安卓系统 » adbforandroid

adbforandroid

发布时间: 2022-06-18 12:50:42

A. Qt for Android问题,真机调试,usb debug打开了。adb的环境变量设置了。输入adb

由于HTC的旧名就是High Tech Computer Corporation,所以很容易知道有关我们设备的信息就是最下面的那条

Bus 002 Device 022: ID 0bb4:0cac High Tech Computer Corp.

现在我们需要记住的就是ID后面的一项数据,在上面的情况中,我们需要记录的是0bb4(不同厂商的设备ID的值可能不一样,所以建议大家在使用ID值的时候先使用lsusb命令查询)。

在/etc/udev/rules.d/中建立文件70-android.rules,其实LZ还不知道这个文件的命名到底有什么规则,在网上也有看到说用51或者50开头的,由于LZ拿70成功配置,所以这边直接沿用。使用

sudo vim /etc/udev/rules.d/70-android.rules

B. 如何在android应用里执行adb 命令

ADB接口的作用主要是让电脑等其它设备控制安卓系统的,所以,称为“中间桥”;

不是为安卓自已用的,自已可直接执行称为SHELL,这与ADB无关。

所以安卓java不一定有封装的ADB类。电脑上有ADB服务程序,端口5037,

它是中间程序,与安卓系统上守护进程(Daemon)通讯。

如果要在自已的手机上应该也能执行adb命令,应该直接跟守护进程

(Daemon)通讯了。网络上可以搜到的方法并不满意。

楼主用exec执行CMD命令,这已不是ADB接口了,这是系统的SHELL了!!!

自已用socket/tcp直接发命令效果不知怎样,地址用127.0.0.1,安卓daemon进程的端口

5555是奇数开始。

。。。。至于ADB对话协议网络可以搜到,建议试一试。

楼上其实要的是SHELL,并不是ADB,我搜到一篇文章,但我并没有试过,

是否需要ROOT,不得而知,附上,你试一试 ,回个话。

满意就采纳!

C. 怎么在Android Studio中执行adb命令

android中执行shell命令有两种方式:1.直接在代码中用java提供的Runtime这个类来执行命令,以下为完整示例代码。publicvoidexecCommand(Stringcommand)throwsIOException{//startthelscommandrunning//String[]args=newString[]{"sh","-c",command};Runtimeruntime=Runtime.getRuntime();Processproc=runtime.exec(command);//这句话就是shell与高级语言间的调用//如果有参数的话可以用另外一个被重载的exec方法//实际上这样执行时启动了一个子进程,它没有父进程的控制台//也就看不到输出,所以需要用输出流来得到shell执行后的输出InputStreaminputstream=proc.getInputStream();=newInputStreamReader(inputstream);BufferedReaderbufferedreader=newBufferedReader(inputstreamreader);//readthelsoutputStringline="";StringBuildersb=newStringBuilder(line);while((line=bufferedreader.readLine())!=null){//System.out.println(line);sb.append(line);sb.append('\n');}//tv.setText(sb.toString());//使用exec执行不会等执行成功以后才返回,它会立即返回//所以在某些情况下是很要命的(比如复制文件的时候)//使用wairFor()可以等待命令执行完成以后才返回try{if(proc.waitFor()!=0){System.err.println("exitvalue="+proc.exitValue());}}catch(InterruptedExceptione){System.err.println(e);}}}2.直接安装shell模拟器,即已经开发好的android应用,启动后类似windows的dos命令行,可以直接安装使用,可执行常用的linux命令,应用在附件。

D. 如何在android应用里执行adb命令

最简单的办法是你可以参考SL4A(Scripting Layer for Android)项目,SL4A支持Python、Perl、JRuby、Lua、BeanShell、JavaScript、Tcl、shell等脚本的执行。其中shell的实现完全可以替代adb。

E. 是否可以使用adb调用安卓包中的任意类(只使用需要的功能,而不要去注册什么的)

通过adb并不能调用安卓包内的任意类,
否则安卓就没有安全性可言了。
adb am也只是因为android做了am 这个工具,
让用户可以通过命令行实现启动activity、service及广播的功能。
其它的功能,am没有提供用户也无法使用。
请采纳,谢谢。

F. 如何使用adb命令查看android中的数据库

1,进入到控制台中,输入adb shell,进入到命令模式的环境中

2,输入:cd /data/data/

3, 选择你所在的数据库文件,比如我的com.android.homework, 输入命令:cd com.android.homework

4, 可以使用ls -l 命令查看当前目录中的文件

5,输入: cd databases 进入到数据库文件中

6, ls -l 显示你数据库中你建立的数据库

7, sqlite3 info.db 进入到你选择的数据库中

8, .tables :查看你建的表

9, select * from table_name;s 可以查看整个表的信息

10, 使用其他的SQL语句可以进一步对表进行操作,注意SQL语句必须用分号(;)结尾

G. 如何通过 usb adb 与 android客户端通讯

usb adb 与 android客户端通讯是一个很重要的应用,必须要掌握扎实这个问题,今天我们来冲一下电吧。
监听代码
private void doListen() {
mServerSocket = null;
try {
mServerSocket = new ServerSocket(mServerPort);
mMainThreadFlag = true;
while (mMainThreadFlag) {
Socket client = mServerSocket.accept();
// 开启线程处理客户端请求并发送响应
ServerCmdTransfor sCmdHandler = new ServerCmdTransfor(this.mContext, client);
mHdList.add(sCmdHandler);
new Thread(sCmdHandler).start();
}
} catch (IOException e1) {
e1.printStackTrace();
/**
* 处理客户端请求并发送响应 这些规则都是由产品经理协商好前后端的通讯协议
*/
private class ServerCmdTransfor extends TCPServerTransfor implements Runnable {
public Handler mNotifyHandler = null;
ServerCmdTransfor(Context context, Socket socket) {
super(context, socket);
}

@Override
public void run() {
Util.log(TAG, Thread.currentThread().getName()
+ " ServerCmdTransfor start");
CmdData data = null;

// 先接收请求
data = readCMD();
Util.log(TAG, Thread.currentThread().getName()
+ " ServerCmdTransfor readCMD ret " + data);
if (data != null) {
// 根据cmdId特殊处理
if (data.cmdId == CmdData.COMMAND_SMS_RECEIVE_REQ) {
// 手机-->PC端的推送
doNotify();
} else {
// 处理
data = TCPServer.this.mCmdHd.processReqCreateResp(data);

Util.log(TAG, Thread.currentThread().getName()
+ " ServerCmdTransfor processReqCreateResp ret "
+ data);
// 然后发送响应
if (data != null) {
boolean ret = sendCMD(data);
Util.log(TAG, Thread.currentThread().getName()
+ " ServerCmdTransfor sendCMD ret " + ret);
try {
mSocket.close();
Util.log(TAG, Thread.currentThread().getName()
+ " ServerCmdTransfor close");
} catch (IOException e) {
e.printStackTrace();
}
}
转载

H. 如何用adb命令 获得Android手机分辨率

在命令行中输入“adb shell” ;进入shell之后,再输入“cat /system/build.prop grep "proct"” 设备信息主要是存放在“/system/build.prop”文件,通过“cat”命令就可以查看了。

拓展资料:

adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方便通过DDMS来调试Android程序,说白了就是debug工具。

它的主要功能有:

* 运行设备的shell(命令行)

* 管理模拟器或设备的端口映射

* 计算机和设备之间上传/下载文件

* 将本地apk软件安装至模拟器或android设备

I. 如何在android程序中执行adb shell命令

android中执行shell命令有两种方式:

1.直接在代码中用java提供的Runtime 这个类来执行命令,以下为完整示例代码。

public void execCommand(String command) throws IOException {

// start the ls command running

//String[] args = new String[]{"sh", "-c", command};

Runtime runtime = Runtime.getRuntime();

Process proc = runtime.exec(command); //这句话就是shell与高级语言间的调用

//如果有参数的话可以用另外一个被重载的exec方法

//实际上这样执行时启动了一个子进程,它没有父进程的控制台

//也就看不到输出,所以需要用输出流来得到shell执行后的输出

InputStream inputstream = proc.getInputStream();

InputStreamReader inputstreamreader = new InputStreamReader(inputstream);

BufferedReader bufferedreader = new BufferedReader(inputstreamreader);

// read the ls output

String line = "";

StringBuilder sb = new StringBuilder(line);

while ((line = bufferedreader.readLine()) != null) {

//System.out.println(line);

sb.append(line);

sb.append(' ');

}

//tv.setText(sb.toString());

//使用exec执行不会等执行成功以后才返回,它会立即返回

//所以在某些情况下是很要命的(比如复制文件的时候)

//使用wairFor()可以等待命令执行完成以后才返回

try {

if (proc.waitFor() != 0) {

System.err.println("exit value = " + proc.exitValue());

}

}

catch (InterruptedException e) {

System.err.println(e);

}

}

}


2.直接安装shell模拟器,即已经开发好的android应用,启动后类似windows的dos命令行,可以直接安装使用,可执行常用的linux命令,应用在附件。



J. 一台PC连接多个Android手机,使用adb命令可以给这多台手机同时安装一个apk,这样可以实现吗怎么写

你是想用代码实现吗?
你可以启动多个线程,在线程里面进行安装,这样可以同时多个手机安装;
也可以写方法,在方法里面进行安装,这样是顺序安装;
主要方法是:调用 adb install + apk的绝对路径名;
如果有多部手机,调用adb -s + 手机编号(如果不知道怎么获取,请继续回复)+ install + apk绝对路径;
在代码里执行:Runtime.getRuntime().exec(
"adb -s " + devName + " install " + apkAddress);

private void installApkToMobile(String devName, String apkAddress)
{
Process process = null;
String buff = "";
try
{
process = Runtime.getRuntime().exec(
"adb -s " + devName + " install " + apkAddress);
BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream(), "utf-8"));
while ((buff = br.readLine()) != null)
{
print(buff);
if (buff.contains("INSTALL_FAILED_ALREADY_EXISTS"))
{
print(devName + "已安装");
}
}
br.close();
} catch (IOException e)
{
e.printStackTrace();
}
}

我现在也是在做这样的东西,欢迎继续讨论,相互学习。

热点内容
中国顶级dhcp解析服务器地址 发布:2025-05-17 11:06:27 浏览:32
php转义html 发布:2025-05-17 11:04:00 浏览:566
钢筋笼加密区规范 发布:2025-05-17 10:59:50 浏览:2
我的世界网易手机版主播服务器房号 发布:2025-05-17 10:40:59 浏览:226
竖编译 发布:2025-05-17 09:56:08 浏览:227
编程画飞机 发布:2025-05-17 09:54:03 浏览:801
手机如何解锁密码屏幕锁怎么删除 发布:2025-05-17 09:52:04 浏览:123
网络无法访问网页 发布:2025-05-17 09:51:40 浏览:649
云存储box估值 发布:2025-05-17 09:47:11 浏览:511
关系数据库实时数据库 发布:2025-05-17 09:43:07 浏览:877