導航:首頁 > 操作系統 > android51adb

android51adb

發布時間:2022-12-16 06:43:19

A. 在android代碼里怎麼執行adb命令

android程序執行adb shell命令(實例源碼) package net.URL; import net.gimite.nativeexe.R; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.view.View; import android.view.View.OnClickListener; import android.widget.*; public class MainActivity extends Activity { private TextView outputView; private Button localRunButton; private EditText localPathEdit; private Handler handler = new Handler(); private EditText urlEdit; private Button remoteRunButton; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); outputView = (TextView)findViewById(R.id.outputView); localPathEdit = (EditText)findViewById(R.id.localPathEdit); localRunButton = (Button)findViewById(R.id.localRunButton); localRunButton.setOnClickListener(onLocalRunButtonClick); } private OnClickListener onLocalRunButtonClick = new OnClickListener() { public void onClick(View v) { String output = exec(localPathEdit.getText().toString()); output(output); // try { // // // Process process = Runtime.getRuntime().exec(localPathEdit.getText().toString()); // // } catch (IOException e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } } }; // Executes UNIX command. private String exec(String command) { try { Process process = Runtime.getRuntime().exec(command); BufferedReader reader = new BufferedReader( new InputStreamReader(process.getInputStream())); int read; char[] buffer = new char[4096]; StringBuffer output = new StringBuffer(); while ((read = reader.read(buffer)) > 0) { output.append(buffer, 0, read); } reader.close(); process.waitFor(); return output.toString(); } catch (IOException e) { throw new RuntimeException(e); } catch (InterruptedException e) { throw new RuntimeException(e); } } private void download(String urlStr, String localPath) { try { URL url = new URL(urlStr); HttpURLConnection urlconn = (HttpURLConnection)url.openConnection(); urlconn.setRequestMethod("GET"); urlconn.setInstanceFollowRedirects(true); urlconn.connect(); InputStream in = urlconn.getInputStream(); FileOutputStream out = new FileOutputStream(localPath); int read; byte[] buffer = new byte[4096]; while ((read = in.read(buffer)) > 0) { out.write(buffer, 0, read); } out.close(); in.close(); urlconn.disconnect(); } catch (MalformedURLException e) { throw new RuntimeException(e); } catch (IOException e) { throw new RuntimeException(e); } } private void output(final String str) { Runnable proc = new Runnable() { public void run() { outputView.setText(str); } }; handler.post(proc); } }

B. ADB是什麼意思

adb的全名是Android調試橋,它充當調試橋。Adb是Android SDK中的工具,使用此工具,您可以直接操作和管理Android模擬器或真實的Android設備(例如G1手機)。

Android系統的adb的全名是Android Debug Bridge,在Android開發環境中,abd是我們經常用於開發的調試工具,使用adb工具的前提是打開手機上的USB調試,然後通過數據線連接到計算機。

android adb主要功能有:

1、運行設備的shell(命令行)。

2、管理模擬器或設備的埠映射。

3、計算機和設備之間上傳/下載文件。

4、將本地apk軟體安裝到模擬器或android設備。

C. 在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(); }

D. 如何用adb連接android手機

方法一:::手機打開開發者模式 勾選usb調試 在你開發工具的ddms下 就有連上你手機了 或者下載豌豆莢這種,會自動鏈接電腦 再打開ddms就有adb

fang2

adb是什麼呢? 我就不多說了, 對於搞Android開發的人來說, 一定不陌生。 本文講述如何用adb來連接手機。

利用adb來連接手機, 有兩種方式: 1, wifi, 2, usb.

前提條件: 下載adb, 最好把對應的文件置於cmd.exe同目錄下。

1. 通過wifi, 利用adb來連接手機。
在pc的cmd中輸入命令:
adb connect 192.168.1.100
其中adb就是手機的ip. 如果連接成功, 就可以進入android的shell了。
我自己在操作過程中, pc能ping通過手機, 但是adb連接手機, 出現了一點點問題, 提示unable to connect to 192.168.1.100:5555, 這個是什麼原因呢? 原來手機的默認adb服務是沒有打開的, 否則, 別人adb能隨便連, 那豈不是很不安全么? 所以, 我們要想辦法把手機上的adb服務打開。 怎麼搞呢? 首先要在手機上下載一個android模擬器(當然, 如果你有, 就不用下載了), 然後切到root許可權, 並執行如下命令打開adb服務:
su

setprop service.adb.tcp.port 5555
stop adbd
start adbd
然後adb就可以連接手機了, 如圖:

2. 通過usb, 利用adb來連接手機。
我把手機通過usb接上pc, 結果adb並沒有連接上手機, 於是下載了android驅動程序, 安裝了, 就好了。這樣, adb就連接上了手機, 開心啊。於是就可以利用adb shell進入手機的android系統了。 附上圖, 紀念一下:

比較一下: 方法1的要求較高, 需要依賴於穩定的網路, 而且操作麻煩, 方法2就簡便多了。

一旦adb登錄後, 就可以切換到root下, 不要密碼啊, 我進入shell後, 執行reboot, 結果手機機關機了。 好吧, 我承認, 我是有激動了。

E. 【Android】如何使用ADB進行調試

1、adb devices
( 用於查看當前adb連接的設備有哪些,這里目前是無)

(5)android51adb擴展閱讀:

無線使用ADB(Android Debug Bridge)非常的實用,它能夠讓你的手機用無線來取代USB連接,與電腦鏈接起來更加的方便快捷,還可以保護電池。需要root。

還可以進行以下的操作:

1、快速更新設備或手機模擬器中的代碼,如應用或Android系統升級;

2、在設備上運行shell命令;

3、管理設備或手機模擬器上的預定埠;

4、在設備或手機模擬器上復制或粘貼文件;

老玩家對adb這個調試工具肯定不陌生了,不過一般都是用USB連接來玩兒,這次帶來的是用無線進行連接,就太強大了,畢竟usb連接對電池的壽命有一定影響。

F. 如何用adb連接android手機

(1)首先先用usb線連接android手機,然後輸入指令:adb tcpip,埠號默認為5555。

(6)android51adb擴展閱讀

adb是androidsdk里的一個工具, 用這個工具可以直接操作管理android模擬器或者真實的andriod設備(如G1手機). 它的主要功能有:

1、運行設備的shell(命令行)。

2、管理模擬器或設備的埠映射。

3、計算機和設備之間上傳/下載文件。

3、將本地apk軟體安裝至模擬器或android設備

ADB是一個客戶端-伺服器端 程序, 其中客戶端是你用來操作的電腦, 伺服器端是android設備。而ADB驅動就是電腦與android設備的通信的客戶端驅動程序。

G. Android手機軟重啟adb命令是什麼

運行設備的shell(命令行)。

管理模擬器或設備的埠映射。

計算機和設備之間上傳/下載文件。

將本地apk軟體安裝至模擬器或android設備。

ADB一個 客戶端-伺服器端 程序, 其中客戶端是用來操作的電腦,伺服器端是android設備。

(7)android51adb擴展閱讀

1、 查看設備 *adbdevices。這個命令是查看當前連接的設備, 連接到計算機的android設備或者模擬器將會列出顯示。

2、 安裝軟體:adbinstall <apk文件路徑>。

這個命令將指定的apk文件安裝到設備上。

3、 卸載軟體

adbuninstall <軟體名>。

adbuninstall -k <軟體名>。

如果加 -k 參數,為卸載軟體但是保留配置和緩存文件。

H. Android—ADB命令

1、查看最上層成activity名字:

adb shell mpsys activity | findstr "mFocusedActivity"
或者 adb shell mpsys window w | findstr / | findstr name=
2、查看Activity的任務棧:

3、顯示所有的activities的信息,包括任務棧等:

adb shell mpsys activity
4、查看Android應用包名package和入口activity名稱 :

aapt mp badging E:\apk\es3.apk
5、顯示accounts信息:

adb shell mpsys account
5、顯示CPU信息 :

adb shell mpsys cpuinfo
查看CPU使用信息

adb shell top -n 1 -d 0.5 | findstr proc_ id
6、顯示鍵盤,窗口和它們的關系

adb shell mpsys window
當我們需要知道設備的解析度時

adb shell mpsys window displays
查看UI繪制的各個層級信息

adb shell mpsys SurfaceFlinger
7、顯示wifi信息

adb shell mpsys wifi
8、電量信息及CPU 使用時長

adb shell mpsys batteryinfo $package_name
9、獲取安裝包信息

adb shell mpsys package packagename
10、每個應用的啟動次數和時間

adb shell mpsys usagestats
11、顯示狀態欄相關的信息

adb shell mpsys statusbar
12、內存信息(meminfo package_name or pid 使用程序的包名或者進程id顯示內存信息)

adb shell mpsys meminfo
得到com.teleca.robin.test進程使用的內存的信息 adb shell mpsys meminfo com.teleca.robin.test
13、磁碟相關信息

adb shell mpsys diskstats
14、電池相關信息

adb shell mpsys battery
15、顯示Alarm信息

adb shell mpsys alarm
統計系統耗電量

adb shell mpsys batterystats
設置線程的優先順序

adb shell mpsys activity|grep oom_adj
16、強制關閉一個應用程序;

adb shell am force-stop <PACKAGE>
17、查看內存信息

adb shell cat proc/meminfo
指定進程內存地址映射

adb shell cat proc/pid/maps
指定進程內存詳細使用信息

adb shell cat proc/pid/smaps
VSS. RSS. PSS. USS 信息

adb shell procrank
指定進程VSS. RSS. PSS. USS 詳細信息

adb shell procmem pid
18、查看可輸入的設備

adb shell getevent -p
19、獲得特定設備的輸入信息

adb shell getevent /dev/input/event0
20、點擊

adb shell input tap x y
21、發送按鍵

adb shell input keyevent 82(keycode)
22、輸入文本

adb shell input text XXXX
23、查看報名中包含mobileqq的進程

adb shell ps | findstr mobileqq
24、遠程進程ID

adb jdwp
25、獲取序列號

adb get-serialno
26、重啟到bootloader,即刷機模式

adb reboot bootloader
27、重啟到recovery,即恢復模式

adb reboot recovery
28、獲取機器MAC地址:

adb shell cat /sys/class/net/wlan0/address
29、獲取CPU序列號

adb shell cat /proc/cpuinfo
30、覆蓋安裝(保留數據和緩存文件,重新安裝apk)

adb install -r <apkfile>
31、安裝apk到sd卡

adb install -s <apkfile>
32、卸載app但保留數據和緩存文件

adb uninstall -k <package>
33、查看設備cpu和內存佔用情況

adb shell top
34、查看佔用內存前6的app

adb shell top -m 6
35、刷新一次內存信息,然後返回

adb shell top -n 1
36、查詢各進程內存使用情況

adb shell procrank
37、查看指定進程狀態

adb shell ps -x [PID]
38、查看後台services信息

adb shell service list
39、查看當前內存佔用(該方式只能得出系統整個內存的大概使用情況) 車
如果你想查看所有進程的內存使用情況

adb shell procrank
40、查看IO內存分區

adb shell cat /proc/iomem
41、查看wifi密碼

adb shell cat /data/misc/wifi/*.conf
42、清除log緩存

adb logcat -c
43、查看設備信息

adb shell cat /system/build.prop
44、跑monkey

adb shell monkey -v -p your.package.name 500
45、列出目標設備上安裝的所有app的包名

adb shell pm list packages
46、截屏命令:

adb shell screencap -p /sdcard/screen.png

adb pull /sdcard/screen.png

adb shell rm /sdcard/screen.png
錄制手機屏幕,視頻格式為mp4,存放到手機sd卡里,默認錄制時間為180s:

adb shell screenrecord
限制視頻錄制時間為10s,如果不限制,默認180s:

adb shell screenrecord --time-limit 10 /sdcard/demo.mp4
指定視頻解析度大小:

adb shell screenrecord --size 1280*720 /sdcard/demo.mp4
指定視頻的比特率:

adb shell screenrecord --bit-rate 6000000 /sdcard/demo.mp4
在命令行顯示log:

adb shell screenrecord --time-limit 10 --verbose /sdcard/demo.mp4
47、設置、獲取屬性信息

adb shell getprop [key]

adb shell setprop [key] [value]
監聽系統屬性的變化,如果期間系統的屬性發生變化則把變化的值顯示出來

adb shell watchprops
48、adb logcat 每一條日誌消息都有一個標記和優先順序與其關聯。
(1)標記是一個簡短的字元串,用於標識原始消息的來源 (例如"View" 來源於顯示系統)。優先順序是下面的字元,順序是從低到高:

V — 明細 (最低優先順序)
D — 調試
I — 信息
W — 警告
E — 錯誤
F — 嚴重錯誤
S — 無記載 (最高優先順序,沒有什麼會被記載)
(2)查看過濾日誌

adb logcat ActivityManager:I *:S
*:S 用於設置所有標記的日誌優先順序為S,可以確保輸出符合指定的過濾器設置的一種推薦的方式,
這樣過濾器就成為了日誌輸出的「白名單」
顯示所有優先順序大於等於「warning」的日誌

adb logcat *:W
(3)日誌消息在標記和優先順序之外還有很多元數據欄位,這些欄位可以通過修改輸出格式來控制輸出結果, -v 選項加上下面列出的內容可以控制輸出欄位:

brief — 顯示優先順序/標記和原始進程的PID (默認格式)
process — 僅顯示進程PID
tag — 僅顯示優先順序/標記
thread — 僅顯示進程:線程和優先順序/標記
raw — 顯示原始的日誌信息,沒有其他的元數據欄位
time — 顯示日期,調用時間,優先順序/標記,PID
long —顯示所有的元數據欄位並且用空行分隔消息內容
使用 thread 輸出格式

adb logcat -v thread
(4)Android日誌系統為日誌消息保持了多個循環緩沖區,而且不是所有的消息都被發送到默認緩沖區,要想查看這些附加的緩沖區,可以使用-b 選項,以下是可以指定的緩沖區:

radio — 查看包含在無線/電話相關的緩沖區消息
events — 查看事件相關的消息
main — 查看主緩沖區 (默認緩沖區)
查看radio緩沖區

adb logcat -b radio
48、列印應用程序的log

adb logcat -b main -v time>app.log
49、列印射頻相關的log,SIM STK也會在裡面,modem相關的ATcommand等,當然跟QXDM差的很遠了

adb logcat -b radio -v time> radio.log
50、列印系統事件的日誌,比如觸屏事件

adb logcat -b events -v time
51、tcpmp 是很有用的,對於TCP/IP協議相關的都可以使用這個來抓

adb shell tcpmp -s 10000 -w /sdcard/capture.pcap
52、狀態信息,裡麵包含有dmesg,mpstate和mpsys

adb bugreport>bugreport.log
53、kernel的log凡是跟kernel相關的,比如driver出了問題(相機,藍牙,usb,啟動,等等吧)

adb shell dmesg > ldmesg_kernel.log
54、mpstate是系統狀態信息,裡面比較全,包括手機當前的內存信息、cpu信息、logcat緩存,kernel緩存等等 。

adb shell mpstate
55、關於系統service的內容都在這個裡面

adb shell mpsys
56、顯示內存信息

adb shell mpsys meminfo system

I. Android 開發常用的adb命令

在Mac 下配置Android SDK的adb命令添加到環境變數:

1. 檢查 .bash_profile
使用 vim .bash_profile 打開該文件,如果該文件存在則直接進入如下第二個步驟,如果該文件不存在,可通過下面命令創建.bash_profile:
touch .bash_profile

2. 編輯 .bash_profile
打開.bash_profile文件,進行編輯,命令如下:
vim .bash_profile

添加如下內容, 以下是我的sdk的路徑,具體路徑根據自己sdk路徑稍作改動即可;

3. 保存 .bash_profile
esc 鍵後退,然後輸入 :wq 後保存退出;

4. 更新配置
source .bash_profile

(1) 查看當前顯示的activity的名字**

(2) 查看前台Activity

(3). 查看前台Activity的棧信息

結果如下:

在沒有root的手機里想adb pull出裡面的東西可以先用這個命令搜出位置,然後在pull出來

將apk後綴改成zip, 然後解壓

Ctrl + C 停止錄屏

配置fastboot命令環境變數

fastboot刷機步驟:

持續更新...

閱讀全文

與android51adb相關的資料

熱點內容
異性下載什麼app 瀏覽:678
51單片機程序單步視頻 瀏覽:239
家庭寬頻如何連接伺服器 瀏覽:117
汽車高壓泵解壓 瀏覽:770
上門正骨用什麼app 瀏覽:758
安卓為什麼免費使用 瀏覽:397
加密貨幣都有哪些平台 瀏覽:625
python和matlab難度 瀏覽:388
python爬蟲很難學么 瀏覽:572
小米解壓積木可以組成什麼呢 瀏覽:816
為什麼滴滴出行app還能用 瀏覽:564
怎麼升級手機android 瀏覽:923
php權威編程pdf 瀏覽:994
扣扣加密技巧 瀏覽:721
蘋果如何創建伺服器錯誤 瀏覽:497
軟考初級程序員大題分值 瀏覽:475
js壓縮視頻文件 瀏覽:580
linux如何通過命令創建文件 瀏覽:991
應用加密app還能訪問應用嘛 瀏覽:435
安卓怎麼用支付寶交違章罰款 瀏覽:667