欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

安卓命令linux,安卓命令終端

Android中AM、PM、dumpsys命令使用總結(jié)

am指令是 activity manager的縮寫,可以啟動Service、Broadcast,殺進程,監(jiān)控等功能,這些功能都非常便捷調(diào)試程序。

丹東網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),丹東網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為丹東上1000+提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請找那個售后服務(wù)好的丹東做網(wǎng)站的公司定做!

可以通過adb shell 進入Android 的Linux命令界面,輸入am -help查看詳細命令,先介紹幾個簡單用法,

命令格式如下

命令列表:

原理分析:am命令實的實現(xiàn)方式在Am.java,最終幾乎都是調(diào)用ActivityManagerService相應(yīng)的方法來完成的,am monitor除外。比如前面概述中介紹的命令am start -a android.intent.action.VIEW -d , 啟動Acitivty最終調(diào)用的是ActivityManagerService類的startActivityAsUser()方法來完成的。再比如am kill-all命令,最終的實現(xiàn)工作是由ActivityManagerService的killBackgroundProcesses()方法完成的。

下面說一下[options]和 INTENT參數(shù)的意義以及如何正確取值。

主要是啟動Activity命令am start [options] INTENT使用options參數(shù),接下來列舉Activity命令的[options]參數(shù):

啟動Activity的實現(xiàn)原理: 存在-W參數(shù)則調(diào)用startActivityAndWait()方法來運行,否則startActivityAsUser()。

命令

例如: 向pid=12345的進程,發(fā)出level=RUNNING_LOW的收緊內(nèi)存命令

level取值范圍為: HIDDEN、RUNNING_MODERATE、BACKGROUND、RUNNING_LOW、MODERATE、RUNNING_CRITICAL、COMPLETE

am的子命令,startservice, stopservice, broadcast, kill, profile start, profile stop, dumpheap的可選參數(shù)都允許設(shè)置--user USER_ID。目前市面上的絕大多數(shù)手機還是單用戶模式,因此可以忽略該參數(shù),默認為當前用戶。

例如:啟動id=10001的用戶的指定service。

Intent的參數(shù)和flags較多,為了方便,這里分為3種類型參數(shù),常用參數(shù),Extra參數(shù),F(xiàn)lags參數(shù)

實例

(1). 基本類型

參數(shù)es是Extra String首字母簡稱,實例:

(2). 數(shù)組類型

參數(shù)eia,是Extra int array首字母簡稱,多個value值之間以逗號隔開,實例:

(3). ArrayList類型

參數(shù)efal,是Extra float Array List首字母簡稱,多個value值之間以逗號隔開,實例:

pm工具為包管理(package manager)的簡稱,可以使用pm工具來執(zhí)行應(yīng)用的安裝和查詢應(yīng)用寶的信息、系統(tǒng)權(quán)限、控制應(yīng)用,pm工具是Android開發(fā)與測試過程中必不可少的工具,shell命令格式如下:

原理分析:pm命令實的實現(xiàn)方式在Pm.java,最后大多數(shù)都是調(diào)用PackageManagerService相應(yīng)的方法來完成的。disbale之后,在桌面和應(yīng)用程序列表里邊都看到不該app。

查看所有的package,

[options]參數(shù):

disabled + enabled = 總應(yīng)用個數(shù); 系統(tǒng) + 第三方 = 總應(yīng)用個數(shù)。

查看第3方應(yīng)用:

查看已經(jīng)被禁用的包名

FILTER參數(shù)

當FILTER為不為空時,則只會輸出包名帶有FILTER字段的應(yīng)用;當FILTER為空時,則默認顯示所有滿足條件的應(yīng)用。

例如,查看包名帶有weather字段的包名

[options]參數(shù):

PATH參數(shù): 指的是需要安裝的apk所在的路徑

dumpsys是Android自帶的強大debug工具,從名字就可以看出,主要是用于dump 當前android system的一些信息,是一項分析手機問題,運行狀態(tài),使用情況等十分有效的手段。

實現(xiàn)原理

dumpsys的源碼結(jié)構(gòu)其實很簡單,只有一個dumpsys.cpp

/frameworks/native/cmds/dumpsys/dumpsys.cpp

先通過defaultServiceManager()函數(shù)獲得ServiceManager對象,然后根據(jù)dumpsys傳進來的參數(shù)通過函數(shù)checkService來找到具體的service, 并執(zhí)行該service的dump方法,達到dump service的目的。

不同的Android系統(tǒng)版本支持的命令有所不同,可通過下面命令查看當前手機所支持的dump服務(wù),先進入adb shell,再執(zhí)行如下命令:dumpsys -l。 這些服務(wù)名可能并看不出其調(diào)用的哪個服務(wù),可以通過下面指令:service list。

服務(wù)列表有很多,這里簡單介紹幾種

通過下面命令可打印具體某一項服務(wù):dumpsys service,其中service便是前面表格中的服務(wù)名

接下來主要說下dumpsys activity 用法

命令

options可選值

dumpsys activity等價于依次輸出下面7條指令:

cmd可選值

命令

返回結(jié)果

上面的輸出結(jié)果可以分為以下四個部分

也可以只輸出某個pid或package的進程信息:

下面以AmberLocker作為實例進行分析

場景1:查詢某個App所有的Service狀態(tài)

解讀:Service類名為com.amber.lockscreen.LockerHeartService,包名為mobi.infolife.ezweather.locker.locker_2,baseDir(apk路徑)為/data/app/mobi.infolife.ezweather.locker.locker_2-2/base.apk,dataDir((apk數(shù)據(jù)路徑)

運行在進程pid=1115,進程名為進程名為mobi.infolife.ezweather.locker.locker_2,,uid=10060,還有創(chuàng)建時間等信息

場景2:查詢某個App所有的廣播狀態(tài)

場景3:查詢某個App所有的Activity狀態(tài)

場景4:查詢某個App的進程狀態(tài)

格式:ProcessRecord{Hashcode pid:進程名/uid},進程pid=941,進程名為mobi.infolife.ezweather.locker.locker_2:live,uid=10060.

該進程中還有Services,Connections, Providers, Receivers,

場景5:查詢棧頂Activity

dumpsys 的命令還有很多,這里就不一一列舉了。

安卓Linux環(huán)境下的dd命令使用總結(jié)

dd :用指定大小的塊拷貝一個文件,并在拷貝的同時進行指定的轉(zhuǎn)換。

注意:指定數(shù)字的地方若以下列字符結(jié)尾,則乘以相應(yīng)的數(shù)字: b=512 ; c=1 ; k=1024 ; w=2

參數(shù)注釋:

4、備份與恢復(fù)MBR

·備份文件開始的512個字節(jié)大小的MBR信息到指定文件:

#dd if=/system/xbin/busybox of=/data/local/tmp/bb count=1 bs=512

· count=1 指僅拷貝一個塊; bs=512 指塊大小為512個字節(jié)

·恢復(fù):

#dd if=/data/local/tmp/bb of=/data/local/tmp/bbb

·將備份的MBR信息寫到磁盤開始部分

/dev/null ,外號叫無底洞,你可以向它輸出任何數(shù)據(jù),它通吃,并且不會撐著!

/dev/zero ,是一個輸入設(shè)備,你可你用它來初始化文件。該設(shè)備無窮盡地提供 0 ,可以使用任何你需要的數(shù)目——設(shè)備提供的要多的多。他可以用于向設(shè)備或文件寫入字符串 0 。

/dev/null ——它是空設(shè)備,也稱為位桶( bit bucket )。任何寫入它的輸出都會被拋棄。如果不想讓消息以標準輸出顯示或?qū)懭胛募敲纯梢詫⑾⒅囟ㄏ虻轿煌啊?/p>

安卓用eclipse編程如何調(diào)用linux命令?

使用eclipse進行嵌入式Linux的開發(fā)環(huán)境配置:

1、安裝jdk

jdk(java development kit)即java開發(fā)包,其中包含了運行eclipse所需要的jre. ubuntu缺省安裝的gnu版本的jre運行效率不高,所以需要安裝sun公司的jre. 首先從sun的網(wǎng)站上下載安裝包jdk-6u7-linux-i586.bin,然后如下進行安裝:

# mkdir -p /opt/java

# ./jdk-6u7-linux-i586.bin // 執(zhí)行自解壓文件,生成目錄

# mv jdk1.6.0_07 /opt/java // 把目錄移到/opt/java下

# cd /opt/java

# ln -s jdk1.6.0_07 jdk

# mv /etc/alternatives/java /etc/alternatives/java.gnu

# ln -s /opt/java/jdk/bin/java /etc/alternatives/java

# export JAVA_HOME=/opt/java/jdk // 設(shè)置環(huán)境變量

2、安裝eclipse和cdt

從eclipse網(wǎng)站上下載安裝包eclipse-SDK-3.4-linux-gtk.tar.gz 和cdt-master-5.0.0.zip

# cd /opt

# tar zxvf eclipse-SDK-3.4-linux-gtk.tar.gz // 解壓生成eclipse目錄

# export PATH=/opt/eclipse:$PATH

# mkdir -p /opt/cdt

# cd /opt/cdt

# unzip cdt-master-5.0.0.zip

# cp -r plugins/* /opt/eclipse/plugins/

# cp -r features/* /opt/eclipse/features/

二、創(chuàng)建c/c++工程

假設(shè)已經(jīng)在linux上安裝好了arm交叉工具鏈,下面介紹如何創(chuàng)建、交叉編譯和調(diào)試c/c++工程,進入eclipse安裝路徑后,運行eclipse。

創(chuàng)建c 工程

使用缺省的Linux GCC工具鏈

進入c/c++ 界面

添加源代碼文件1

 

添加源代碼文件2

編輯代碼

設(shè)置工程屬性,指定交叉工具鏈1

設(shè)置工程屬性,指定交叉工具鏈2

設(shè)置工程屬性,指定交叉工具鏈3

編譯工程

已生成arm平臺可執(zhí)行代碼

配置調(diào)試選項

設(shè)置Debugger和 GDB debugger選項

設(shè)置連接類型為TCP,目標板的ip地址和調(diào)試端口號。端口號任意指定,通常大于1024(避免和系統(tǒng)所用端口號沖突)

在開發(fā)板上運行程序,格式如上圖所示:gdbserver是交叉調(diào)試輔助程序;192.168.0.150是主機的ip地址;1234是調(diào)試端口號,和eclipse調(diào)試選項里設(shè)定的端口號要一致

點擊Debug,進入調(diào)試界面

執(zhí)行到斷點

eclipse的調(diào)試界面和操作和在windows下開發(fā)類似。

所需開發(fā)工具及環(huán)境

虛擬機Linux:Fedora 9

交叉編譯工具:arm-linux-gcc-3.4.1.tar.bz2

集成開發(fā)工具:Eclipse(Linux安裝包中自帶的,安裝Linux時選中安裝)

安裝ARM交叉編譯器

1. 安裝。其實很簡單,就是將下載的arm-linux-gcc-3.4.1.tar.bz2解壓到Linux根目錄即可(因為解壓后已經(jīng)包含了/usr/local目錄,所以要解壓到根目錄),如下命令:

tar -jxvf arm-linux-gcc-3.4.1.tar.bz2 -C /

解壓后的目錄/usr/local/arm/3.4.1/

2. 設(shè)置環(huán)境變量。就是把交叉編譯器的路徑設(shè)置到系統(tǒng)環(huán)境變量里面去。

echo $PATH

查看現(xiàn)有的環(huán)境變量

如果只想臨時添加交叉編譯器的環(huán)境變量(注:臨時添加的系統(tǒng)重啟或注銷后又沒有了),只需在命令行輸入如下命令:

export PATH=$PATH:/usr/local/arm/3.4.1/bin

如果想這個環(huán)境變量永久的添加到系統(tǒng)的環(huán)境變量中,則你只需把這個命令添加到/root/.bashrc文件的最后一行即可(這個文件是隱藏文件,你要在文件瀏覽器中單擊查看菜單,勾選顯示隱藏文件才能看到)

3. 測試建立的交叉編譯環(huán)境。新建一個c程序,文件名:test.c, 如下:

#include stdio.h

int main(void)

{

printf("Hellow world!\n");

return 0;

}

進行交叉編譯,如下:

arm-linux-gcc -o test test.c

將交叉編譯好的目標文件test下載到ARM開發(fā)板中并運行,如下:

./test

輸出結(jié)果為:

Hellow world!

用集成開發(fā)工具Eclipse來開發(fā)嵌入式應(yīng)用程序

雙擊Eclipse圖標啟動Eclipse

設(shè)置Eclipse的工作空間,就是選個目錄,單擊OK

啟動后的主界面

開始新建一個應(yīng)用程序工程

選擇新建一個C工程,單擊Next

給工程取個名字,這里我就叫test_app;然后選擇工程類型,我選擇了個Hellow world C工程模版,單擊Next

填寫作者、版權(quán)等信息,單擊Next

沒什么選的,點擊Finish

單擊Yes

新建好的項目工程

展開左邊的源代碼目錄,雙擊打開主函數(shù)。這里只是輸出一句"Hello World!!!",你可以做一些其他復(fù)雜的應(yīng)用

單擊Project菜單,去掉Build Automatically的勾選,因為勾選的話,每次修改一個地方工程都會自動進行編譯

打開工程的屬性對話框進行編譯選項的設(shè)置

我們的應(yīng)用程序最終要到嵌入式arm上運行,這里就要把gcc改成arm-linux-gcc編譯器,當然前提是你要在你的開發(fā)主機上先安裝arm-linux-gcc

C連接器也要改成arm-linux-gcc

這里的Libraries是設(shè)置你的應(yīng)用程序中用到的庫文件,比如應(yīng)用程序中用到了線程類,則這里在上面添加pthread這個庫,下面就添加這個庫的路徑。如果應(yīng)用程序沒用到任何庫文件就不用管了

選中左側(cè)的工程名,右鍵,在彈出的菜單中選擇Build Project編譯工程

編譯好后的工程,目標文件在Debug目錄下

android 中l(wèi)inux 命令pm常見用法(安裝卸載app)

27種用法格式 :

用法說明 :

1、 pm list packages : prints all packages, optionally only those whose package name contains the text in FILTER. Options:

例子:列出系統(tǒng)中所有packages

2、 pm list permission-groups : prints all known permission groups.

例子:

3、 pm list permissions : prints all known permissions, optionally only those in GROUP. Options:

例子:列出系統(tǒng)所有許可

4、 pm list instrumentation : use to list all test packages; optionally supply to list the test packages for a particular application. Options:

-f: list the .apk file for the test package.

5、 pm list features : prints all features of the system.

例子:列出所有手機特性

6、 pm list users : prints all users on the system.

例子:

7、 pm path : print the path to the .apk of the given PACKAGE.

例子:按包名查找apk文件所在路徑

8、 pm dump : print system state associated with the given PACKAGE.

9、 pm install : installs a package to the system. Options:

例子:

10、 pm uninstall : removes a package from the system. Options:

-k: keep the data and cache directories around after package removal. 保留數(shù)據(jù)

例子:

11、 pm clear : deletes all data associated with a package..

例子:只刪除數(shù)據(jù)

12、 pm enable, disable, disable-user, disable-until-used : these commands change the enabled state of a given package or component (written as "package/class").

13、 pm grant, revoke : these commands either grant or revoke permissions to applications. Only optional permissions the application has declared can be granted or revoked.

14、 pm get-install-location : returns the current install location.

15、 pm set-install-location : changes the default install location.

NOTE: this is only intended for debugging; using this can cause applications to break and other undersireable behavior.

16、 pm trim-caches : trim cache files to reach the given free space.

17、 pm create-user : create a new user with the given USER_NAME, printing the new user identifier of the user. 創(chuàng)建新用戶

18、 pm remove-user : remove the user with the given USER_IDENTIFIER, deleting all data associated with that user 。 按用戶ID刪除用戶

如何打開android命令行終端

1、連接電腦上,用adb打開,android命令行終端即可。

2、如果你想直接在android上打開,可以安裝一個android terminal,在手機上使用linux命令行。

擴展資料:

終端命令sudo: Executing Commands with Elevated Privileges 執(zhí)行命令特權(quán) sudo是允許系統(tǒng)管理員讓普通用戶執(zhí)行一些或者全部的root命令的一個工具,如halt,reboot,su等等。這樣不僅減少了root用戶的登陸 和管理時間,同樣也提高了安全性。Sudo不是對shell的一個代替,它是面向每個命令的。

app_0是用戶名,也就是終端在系統(tǒng)中的名字。android是主機名/ 表示當前路徑。

這些信息存儲在變量PS1中,自己可以改變。改成彩色更加美觀,而且輸入命令后更加容易找到提示符。有一個重要的基本變量是PATH,這叫命令搜索路徑。

參考資料:安卓中文網(wǎng)--在手機端使用命令行刷入Recovery教程詳解

名稱欄目:安卓命令linux,安卓命令終端
網(wǎng)站路徑:http://chinadenli.net/article30/hsjdso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號Google企業(yè)網(wǎng)站制作定制網(wǎng)站全網(wǎng)營銷推廣用戶體驗

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站