导航:首页 > 源码编译 > Android编译adb

Android编译adb

发布时间:2022-04-28 04:51:37

A. 如何在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,不得而知,附上,你试一试 ,回个话。

满意就采纳!

B. Android SDK 环境下如何使用adb软件

Android SDK开发工具中有几个重要的指令:adb、ddms、emulator与mksdcard、dx tool等。
ADB系统除错与连结工具
使用adb指令进行APK组件的安装,虽然adb(Android debug bridge)是Android系统的除错工具,但是从放置文件到SD存储卡与安装APK应用程序,adb是操作Android 系统不可或缺的重要工具。adb是与Android仿真器沟通最重要的桥梁。如果要跟Android底层的Linux操作系统进行沟通,就必须通过 Android SDK tools目录下的adb (android debug bridge) 指令来进行操作。这个adb除了提供程序码除错功能外,最重要的功能是它可以将Eclipse编译好所生成的Android应用程序组件Android Package (apk),直接连接安装到Android仿真器上或者手机装置上,因此程序开发在Eclipse环境中完成后,Android仿真器上就直接会有这个应 用程序的图标icon了。另外adb除错工具也支持命令列模式shell指令,可以输入指令来进行一些除错动作。这些实用的adb指令如下:
$ adb devices (显示当前有多少个仿真器正在运行)
List of devices attached
emulator-5554 device
emulator-5556 device
emulator-5558 device
运行adb devices会显示有多少个仿真器正在运行,上面的例子指出有5554、5556、5558三个仿真器正在运行,如果没有运行仿真器,则显示 no device。
$ adb -s <serialNumber> <command> (指定仿真器来操作)
$ adb -s emulator-5554 install email.apk
adb -s可以指定仿真器序号,用来选择操纵哪一个仿真器,例如adb -s emulator-5554 install email.apk,指定将email.apk安装在仿真器emulator-5554。
$ adb install apkfile (安装APK应用程序组件)
例如:adb install email.apk
$ adb uninstall package (移除APK应用程序组件)
例如:adb uninstall com.android.email
adb install与adb uninstall可以用来安装与移除APK 应用程序组件,但是必须注意的是adb install后面是接apk文件名称,然而adb uninstall 后面是域名形式的package名称,例如com.android.email。详细的package名称可以由Android操作系统目录/data /data或者由/data/app来查得。
$ adb shell (进入Android系统指令列模式)
$ ls
$ dmesg (查看Android Linux Kernel运作消息)
运行adb shell可以进入Android操作系统指令列模式,如此一来就可以直接看到Android系统的目录结构,因为Android是Linux操作系统的 一种,所以Shell指令和Linux系统是相同的,例如ls(显示文件目录)、cd(进入目录)、rm(删除文件)、mv(移动文件)、mkdir(生 成目录)与rmdir(删除目录)等指令。
$ adb push <file/dir> /sdcard (复制文件到SD存储卡)
例如:adb push mp3 /sdcard
$ adb pull <file/dir> . (从Android系统下载文件)
例如:adb pull /data/app/com.android.email
adb push可以上载文件到SD存储卡目录/sdcard,因为其他目录有访问权限问题无法写入,所以一般都是将文件放到/sdcard目录下。adb pull则是将文件从Android系统下载到一般计算机上,常用的例子除了从/sdcard下载文件外,也可以从/data/data或/data /app目录将APK文件抽出来,提供已经安装成功的APK应用程序,给其他使用者安装。
$ adb logcat (监控仿真器运作记录)
adb logcat会实时监控Android仿真器运行时所生成的记录,此项功能对于程序开发人员用来除错帮助很大,开发人员可以从记录中得到应用程序运行时发生的错误消息。运行adb logcat后,若要离开监控模式,可以按Ctrl+C。
$ adb bugreport (生成adb除错报告)
开发人员若要进一步得知系统生成的所有错误消息报告,可以运行adb bugreport指令来实现,该指令会将Android系统的mpsys、mpstate与logcat信息都显示出来。
$ adb get-state (获得adb服务器运作状态)
adb get-state会显示adb服务器的运作状态为何,共有offline (脱机)、bootloader (开机中)、与device (运作中) 三种状态。
$ adb start-server (启动adb服务器)
$ adb kill-server (关掉adb服务器)
通常启动Android服务器时,就会启动adb服务器了。可以使用adb get-state来查知adb的状态。如果没有启动可以运行adb start-server启动它,若不想进行除错监控,可以运行adb kill-server关掉它。
$ adb forward tcp:6100 tcp:7100 (更改仿真器网络TCP通信端口)
Android仿真器内定的TCP port为6100,若有需要可以运行adb forward指令改成另外一个通信端口。
$ adb version (显示adb版本)
您可以运行adb version查看当前使用的Android SDK adb版本。
$ adb help (显示adb指令参数)
adb help会显示所有adb指令的用法,
参考资料:http://blog.chinaunix.net/uid-20332519-id-3176865.html

C. 为什么android源码编译出来的adb是动态库

例如:你不想编译music进image中,你就在该文件里PRODUCT_PACKAGES :=这一项下的Music删除就可以了同理,你想把自己的app编译进image中,你先写好编译用的 Android.mk 文件,然后去到上面所说的文件里在 PRODUCT_PACKAGES :=这一项添加对应的app包名一般来说,只要改这么一个文件就足够了。但是如果以上编译后发现还是编译到了image里面,那么它很有可能是一个已经编译好的apk文件预装到 image 里面去了,也是以我的sdk为例,进入 device/产品目录/common/apk 下看看有没有.apk文件,我的sdk里面这个目录下的.apk文件是全部预装到 system/app 里面的还有一个目录:/device/产品目录/common/preinstallapk 这个目录里的apk也是预装到image里面去,只是并不是预装到 system/app 而已也就是说,你还要看看你不想编译进image里的app是不是预装进去,如果是预装进去的话,只要在对应目录下把该apk文件删除了就好了希望这些能帮到你!

D. android开发adb冲突怎么解决

你可以试着拔掉连接在电脑上的手机,重启一下adb,如果还是不行的话可以彻底退出编译环境,甚至是注销操作系统,结束端口占用。希望能帮到您,有什么问题欢迎您追问,谢谢。

E. 【Android】如何使用ADB进行调试

是用来管理模拟器和真机的通用调试工具,该工具功能强大,直接打开cmd即可使用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端的桥梁,可以让用户在电脑上对手机进行全面的操作 1:查看当前模拟器或者Android设备实例的状态 一般在使用前都会使用adb devices这个命令查看一下模拟器的状态,通过这个命令得到ADB的回应信息,可以看到ADB作为回应为每个实例制定了相关的信息 1.1:emulator-5554为实例名称 1.2:device为实例连接状态,device表示此实例正与adb相连接,offline表示此实例没有与adb连接或者无法响应 2:安装和卸载APK应用程序 你可以从电脑上复制一个APK应用到模拟器或者Android设备上,通过adb install <path_to_apk安装软件,adb uninstall <packageName卸载软件,如果你不知道这个包名,在AndroidManifest.xml里的找package=""就可以了 2.1: 先把apk文件拷贝到sdk目录下的tools 2.2: 进入dos下切换到SDK的安装路径下的tools目录 2.3 :执行安装命令 adb install <path_to_apk 发生的错误,因为我连接了真机,而且也打开了模拟器,所以adb给我的回应信息是“比一个多的驱动设备和模拟器”,我最后关闭掉了模拟器在运行安装命令,就提示安装成功了 卸载APK 3:从本机上复制文件到模拟器或者Android设备 adb push <本地路径<远程路径,<本地路径指的是自己的机器上或者模拟器上的目标文件,<远程路径指的是远程设备实例上的目标文件 4:从模拟器复制文件到模拟器或者Android设备 adb pull <远程路径<本地路径,<本地路径指的是自己的机器上或者模拟器上的目标文件,<远程路径指的是远程设备实例上的目标文件 输入adb shell就可以进入shell命令行了,可以使用一些常用的shell命令,如:ls命令列出了文件

F. android adb是什么意思

adb的全名是Android调试桥,它充当调试桥。Adb是Android SDK中的工具,使用此工具,您可以直接操作和管理Android模拟器或真实的Android设备(例如G1手机)。

Android系统的adb的全名是Android Debug Bridge,在Android开发环境中,abd是我们经常用于开发的调试工具,使用adb工具的前提是打开手机上的USB调试,然后通过数据线连接到计算机。

通过adb,我们可以通过Eclipse中的DDMS(调试工具)轻松调试Android程序。,Adb以一种特殊的方式工作,它监视Socket TCP 5554和其他端口,以允许IDE和Qemu进行通信,默认情况下,adb将守护程序相关的网络端口,因此,当我们运行Eclipse时,adb进程将自动运行。

(6)Android编译adb扩展阅读:

android adb主要功能有:

1、运行设备的shell(命令行);

2、管理模拟器或设备的端口映射;

3、计算机和设备之间上传/下载文件;

4、 将本地apk软件安装到模拟器或android设备。

参考资料:网络—ADB

G. 在Android的apk中怎么调用adb命令

实际上 dkmeteor 已经给出了详尽的答案了,我就额外罗嗦一下
apk 是编译打包生成的安装程序,运行在 android 系统里面。 adb 只是 android 的一个调试桥,用于跟其他平台通信,其中有一个功能就是执行 shell 命令
从题主的需求上看,需要移动一个系统文件,必要的话还需要重新挂载 这个需求得用到 android 的超级管理员权限,也就说没有 root 的手机无法达到要求。
题主可以尝试 dkmeteor 提供的方法先获取 root 权限,然后再执行两个 shell 就可以了

H. 在android代码里怎么执行adb命令

Android中执行adb shell命令的方式如下: /** * 执行一个shell命令,并返回字符串值 * * @param cmd * 命令名称&参数组成的数组(例如:{"/system/bin/cat", "/proc/version"}) * @param workdirectory * 命令执行路径(例如:"system/bin/") * @return 执行结果组成的字符串 * @throws IOException */ public static synchronized String run(String[] cmd, String workdirectory) throws IOException { StringBuffer result = new StringBuffer(); try { // 创建操作系统进程(也可以由Runtime.exec()启动) // Runtime runtime = Runtime.getRuntime(); // Process proc = runtime.exec(cmd); // InputStream inputstream = proc.getInputStream(); ProcessBuilder builder = new ProcessBuilder(cmd); InputStream in = null; // 设置一个路径(绝对路径了就不一定需要) if (workdirectory != null) { // 设置工作目录(同上) builder.directory(new File(workdirectory)); // 合并标准错误和标准输出 builder.redirectErrorStream(true); // 启动一个新进程 Process process = builder.start(); // 读取进程标准输出流 in = process.getInputStream(); byte[] re = new byte[1024]; while (in.read(re) != -1) { result = result.append(new String(re)); } } // 关闭输入流 if (in != null) { in.close(); } } catch (Exception ex) { ex.printStackTrace(); } return result.toString(); }

I. android+studio无法找到adb怎么解决

摘要 其实这个不算个问题,但总是容易忘记。主要就是把ADB 的路径加入到系统的path就能处理了。

阅读全文

与Android编译adb相关的资料

热点内容
国际体验服如何把服务器改为亚服 浏览:880
手机怎么关闭视频加密 浏览:462
单片机编程存表法 浏览:719
富士康服务器是什么 浏览:452
编译是二进制吗 浏览:262
小程序账号登录源码 浏览:876
云南社保局app叫什么 浏览:693
美女程序员吃大餐 浏览:208
项目二级文件夹建立规则 浏览:558
dns使用加密措施吗 浏览:172
php独立运行 浏览:531
手机sh执行命令 浏览:729
云服务器的角色 浏览:735
单片机频率比例 浏览:843
我的世界服务器如何关闭正版验证 浏览:506
如何查roid服务器上的 浏览:132
安卓手机主板如何撬芯片不掉电 浏览:251
php各个框架的优缺点 浏览:103
php1100生成数组 浏览:361
以后做平面设计好还是程序员好 浏览:554