Adb大全|應(yīng)用管理

本文章轉(zhuǎn)載于搜狗測(cè)試

應(yīng)用管理

所有應(yīng)用

系統(tǒng)應(yīng)用

第三方應(yīng)用

包名包含某字符串的應(yīng)用

查看應(yīng)用列表

安裝 APK

卸載應(yīng)用

清除應(yīng)用數(shù)據(jù)與緩存

查看前臺(tái) Activity

查看正在運(yùn)行的 Services

應(yīng)用管理

查看應(yīng)用列表

查看應(yīng)用列表的基本命令格式是

adb shell pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [--user USER_ID] [FILTER]

即在adb shell pm list packages的基礎(chǔ)上可以加一些參數(shù)進(jìn)行過濾查看不同的列表砖顷,支持的過濾參數(shù)如下:

參數(shù)顯示列表

無所有應(yīng)用

-f顯示應(yīng)用關(guān)聯(lián)的 apk 文件

-d只顯示 disabled 的應(yīng)用

-e只顯示 enabled 的應(yīng)用

-s只顯示系統(tǒng)應(yīng)用

-3只顯示第三方應(yīng)用

-i顯示應(yīng)用的 installer

-u包含已卸載應(yīng)用

包名包含字符串

所有應(yīng)用

命令:

adb shell pm list packages

輸出示例:

package:com.android.smoketest

package:com.example.android.livecubes

package:com.android.providers.telephony

package:com.google.android.googlequicksearchbox

package:com.android.providers.calendar

package:com.android.providers.media

package:com.android.protips

package:com.android.documentsui

package:com.android.gallery

package:com.android.externalstorage

...

// other packages here

...

系統(tǒng)應(yīng)用

命令:

adb shell pm list packages -s

第三方應(yīng)用

命令:

adb shell pm list packages -3

包名包含某字符串的應(yīng)用

比如要查看包名包含字符串mazhuang的應(yīng)用列表楣导,命令:

adb shell pm list packages mazhuang

當(dāng)然也可以使用 grep 來過濾:

adb shell pm list packages|grep mazhuang

安裝 APK

命令格式:

adb install [-lrtsdg]

參數(shù):

adb install后面可以跟一些可選參數(shù)來控制安裝 APK 的行為贬蛙,可用參數(shù)及含義如下:

參數(shù)含義

-l將應(yīng)用安裝到保護(hù)目錄 /mnt/asec

-r允許覆蓋安裝

-t允許安裝 AndroidManifest.xml 里 application 指定android:testOnly="true"的應(yīng)用

-s將應(yīng)用安裝到 sdcard

-d允許降級(jí)覆蓋安裝

-g授予所有運(yùn)行時(shí)權(quán)限

運(yùn)行命令后如果見到類似如下輸出(狀態(tài)為Success)代表安裝成功:

[100%] /data/local/tmp/1.apk

pkg: /data/local/tmp/1.apk

Success

上面是當(dāng)前最新版 v1.0.36 的 adb 的輸出,會(huì)顯示 push apk 文件到手機(jī)的進(jìn)度百分比差导。

使用舊版本 adb 的輸出則是這樣的:

12040 KB/s (22205609 bytesin1.801s)? ? ? ? pkg: /data/local/tmp/SogouInput_android_v8.3_sweb.apkSuccess

而如果狀態(tài)為Failure則表示安裝失敗鲫忍,比如:

[100%] /data/local/tmp/map-20160831.apk

pkg: /data/local/tmp/map-20160831.apk

Failure [INSTALL_FAILED_ALREADY_EXISTS]

常見安裝失敗輸出代碼舰始、含義及可能的解決辦法如下:

輸出含義解決辦法

INSTALL_FAILED_ALREADY_EXISTS應(yīng)用已經(jīng)存在第焰,或卸載了但沒卸載干凈adb install時(shí)使用-r參數(shù),或者先adb uninstall 再安裝

INSTALL_FAILED_INVALID_APK無效的 APK 文件

INSTALL_FAILED_INVALID_URI無效的 APK 文件名確保 APK 文件名里無中文

INSTALL_FAILED_INSUFFICIENT_STORAGE空間不足清理空間

INSTALL_FAILED_DUPLICATE_PACKAGE已經(jīng)存在同名程序

INSTALL_FAILED_NO_SHARED_USER請(qǐng)求的共享用戶不存在

INSTALL_FAILED_UPDATE_INCOMPATIBLE以前安裝過同名應(yīng)用上枕,但卸載時(shí)數(shù)據(jù)沒有移除先adb uninstall 再安裝

INSTALL_FAILED_SHARED_USER_INCOMPATIBLE請(qǐng)求的共享用戶存在但簽名不一致

INSTALL_FAILED_MISSING_SHARED_LIBRARY安裝包使用了設(shè)備上不可用的共享庫

INSTALL_FAILED_REPLACE_COULDNT_DELETE替換時(shí)無法刪除

INSTALL_FAILED_DEXOPTdex 優(yōu)化驗(yàn)證失敗或空間不足

INSTALL_FAILED_OLDER_SDK設(shè)備系統(tǒng)版本低于應(yīng)用要求

INSTALL_FAILED_CONFLICTING_PROVIDER設(shè)備里已經(jīng)存在與應(yīng)用里同名的 content provider

INSTALL_FAILED_NEWER_SDK設(shè)備系統(tǒng)版本高于應(yīng)用要求

INSTALL_FAILED_TEST_ONLY應(yīng)用是 test-only 的咐熙,但安裝時(shí)沒有指定-t參數(shù)

INSTALL_FAILED_CPU_ABI_INCOMPATIBLE包含不兼容設(shè)備 CPU 應(yīng)用程序二進(jìn)制接口的 native code

INSTALL_FAILED_MISSING_FEATURE應(yīng)用使用了設(shè)備不可用的功能

INSTALL_FAILED_CONTAINER_ERRORsdcard 訪問失敗確認(rèn) sdcard 可用,或者安裝到內(nèi)置存儲(chǔ)

INSTALL_FAILED_INVALID_INSTALL_LOCATION不能安裝到指定位置切換安裝位置辨萍,添加或刪除-s參數(shù)

INSTALL_FAILED_MEDIA_UNAVAILABLE安裝位置不可用一般為 sdcard棋恼,確認(rèn) sdcard 可用或安裝到內(nèi)置存儲(chǔ)

INSTALL_FAILED_VERIFICATION_TIMEOUT驗(yàn)證安裝包超時(shí)

INSTALL_FAILED_VERIFICATION_FAILURE驗(yàn)證安裝包失敗

INSTALL_FAILED_PACKAGE_CHANGED應(yīng)用與調(diào)用程序期望的不一致

INSTALL_FAILED_UID_CHANGED以前安裝過該應(yīng)用,與本次分配的 UID 不一致清除以前安裝過的殘留文件

INSTALL_FAILED_VERSION_DOWNGRADE已經(jīng)安裝了該應(yīng)用更高版本使用-d參數(shù)

INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE已安裝 target SDK 支持運(yùn)行時(shí)權(quán)限的同名應(yīng)用锈玉,要安裝的版本不支持運(yùn)行時(shí)權(quán)限

INSTALL_PARSE_FAILED_NOT_APK指定路徑不是文件爪飘,或不是以.apk結(jié)尾

INSTALL_PARSE_FAILED_BAD_MANIFEST無法解析的 AndroidManifest.xml 文件

INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION解析器遇到異常

INSTALL_PARSE_FAILED_NO_CERTIFICATES安裝包沒有簽名

INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES已安裝該應(yīng)用,且簽名與 APK 文件不一致先卸載設(shè)備上的該應(yīng)用拉背,再安裝

INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING解析 APK 文件時(shí)遇到CertificateEncodingException

INSTALL_PARSE_FAILED_BAD_PACKAGE_NAMEmanifest 文件里沒有或者使用了無效的包名

INSTALL_PARSE_FAILED_BAD_SHARED_USER_IDmanifest 文件里指定了無效的共享用戶 ID

INSTALL_PARSE_FAILED_MANIFEST_MALFORMED解析 manifest 文件時(shí)遇到結(jié)構(gòu)性錯(cuò)誤

INSTALL_PARSE_FAILED_MANIFEST_EMPTY在 manifest 文件里找不到找可操作標(biāo)簽(instrumentation 或 application)

INSTALL_FAILED_INTERNAL_ERROR因系統(tǒng)問題安裝失敗

INSTALL_FAILED_USER_RESTRICTED用戶被限制安裝應(yīng)用

INSTALL_FAILED_DUPLICATE_PERMISSION應(yīng)用嘗試定義一個(gè)已經(jīng)存在的權(quán)限名稱

INSTALL_FAILED_NO_MATCHING_ABIS應(yīng)用包含設(shè)備的應(yīng)用程序二進(jìn)制接口不支持的 native code

INSTALL_CANCELED_BY_USER應(yīng)用安裝需要在設(shè)備上確認(rèn)师崎,但未操作設(shè)備或點(diǎn)了取消在設(shè)備上同意安裝

INSTALL_FAILED_ACWF_INCOMPATIBLE應(yīng)用程序與設(shè)備不兼容

does not contain AndroidManifest.xml無效的 APK 文件

is not a valid zip file無效的 APK 文件

Offline設(shè)備未連接成功先將設(shè)備與 adb 連接成功

unauthorized設(shè)備未授權(quán)允許調(diào)試

error: device not found沒有連接成功的設(shè)備先將設(shè)備與 adb 連接成功

protocol failure設(shè)備已斷開連接先將設(shè)備與 adb 連接成功

Unknown option: -sAndroid 2.2 以下不支持安裝到 sdcard不使用-s參數(shù)

No space left on devicerm空間不足清理空間

Permission denied ... sdcard ...sdcard 不可用

參考:PackageManager.java

adb install內(nèi)部原理簡(jiǎn)介

adb install實(shí)際是分三步完成:

push apk 文件到 /data/local/tmp。

調(diào)用 pm install 安裝去团。

刪除 /data/local/tmp 下的對(duì)應(yīng) apk 文件抡诞。

所以,必要的時(shí)候也可以根據(jù)這個(gè)步驟土陪,手動(dòng)分步執(zhí)行安裝過程。

卸載應(yīng)用

命令:

adb uninstall [-k]

表示應(yīng)用的包名肴熏,-k參數(shù)可選鬼雀,表示卸載應(yīng)用但保留數(shù)據(jù)和緩存目錄。

命令示例:

adb uninstall com.qihoo360.mobilesafe

表示卸載 360 手機(jī)衛(wèi)士蛙吏。

清除應(yīng)用數(shù)據(jù)與緩存

命令:

adb shell pm clear

表示應(yīng)用名包源哩,這條命令的效果相當(dāng)于在設(shè)置里的應(yīng)用信息界面點(diǎn)擊了「清除緩存」和「清除數(shù)據(jù)」。

命令示例:

adb shell pm clear com.qihoo360.mobilesafe

表示清除 360 手機(jī)衛(wèi)士的數(shù)據(jù)和緩存鸦做。

查看前臺(tái) Activity

命令:

adb shell dumpsys activity activities|grep mFocusedActivity

輸出示例:

mFocusedActivity: ActivityRecord{8079d7e u0 com.cyanogenmod.trebuchet/com.android.launcher3.Launcher t42}

其中的com.cyanogenmod.trebuchet/com.android.launcher3.Launcher就是當(dāng)前處于前臺(tái)的 Activity励烦。

查看正在運(yùn)行的 Services

命令:

adb shell dumpsys activity services []

參數(shù)不是必須的,指定表示查看與某個(gè)包名相關(guān)的 Services泼诱,不指定表示查看所有 Services坛掠。

不一定要給出完整的包名,比如運(yùn)行adb shell dumpsys activity services org.mazhuang,那么包名org.mazhuang.demo1屉栓、org.mazhuang.demo2和org.mazhuang123等相關(guān)的 Services 都會(huì)列出來舷蒲。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市友多,隨后出現(xiàn)的幾起案子牲平,更是在濱河造成了極大的恐慌,老刑警劉巖域滥,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件纵柿,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡启绰,警方通過查閱死者的電腦和手機(jī)藐窄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來酬土,“玉大人荆忍,你說我怎么就攤上這事〕方桑” “怎么了刹枉?”我有些...
    開封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)屈呕。 經(jīng)常有香客問我微宝,道長(zhǎng),這世上最難降的妖魔是什么虎眨? 我笑而不...
    開封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任蟋软,我火速辦了婚禮,結(jié)果婚禮上嗽桩,老公的妹妹穿的比我還像新娘岳守。我一直安慰自己,他們只是感情好碌冶,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開白布湿痢。 她就那樣靜靜地躺著,像睡著了一般扑庞。 火紅的嫁衣襯著肌膚如雪譬重。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天罐氨,我揣著相機(jī)與錄音臀规,去河邊找鬼。 笑死栅隐,一個(gè)胖子當(dāng)著我的面吹牛塔嬉,可吹牛的內(nèi)容都是我干的玩徊。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼邑遏,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼佣赖!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起记盒,我...
    開封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤憎蛤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后纪吮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體俩檬,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年碾盟,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了棚辽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡冰肴,死狀恐怖屈藐,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情熙尉,我是刑警寧澤联逻,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站检痰,受9級(jí)特大地震影響包归,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜铅歼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一公壤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧椎椰,春花似錦厦幅、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至套媚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間磁椒,已是汗流浹背堤瘤。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留浆熔,地道東北人本辐。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親慎皱。 傳聞我的和親對(duì)象是個(gè)殘疾皇子老虫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,504評(píng)論 25 707
  • 福利大放送 這是對(duì)好多adb命令行的總結(jié),很實(shí)用茫多,有些東西知道了之后就會(huì)特別酷炫: 內(nèi)容 指定目標(biāo)設(shè)備: 如果只有...
    Only凹凸曼閱讀 2,510評(píng)論 1 6
  • android開發(fā)環(huán)境中祈匙,ADB是我們進(jìn)行android開發(fā)經(jīng)常要用的調(diào)試工具,它的使用當(dāng)然是我們Android開...
    Memebox閱讀 6,057評(píng)論 0 32
  • 我是一只小狗天揖,我叫曼小黑夺欲,在這個(gè)世界遇到了你。 不過今膊,我不是唯一的曼小黑些阅,因?yàn)椋氵€有一個(gè)更大的曼小黑斑唬。 對(duì)我而言...
    潘志峰閱讀 485評(píng)論 0 0
  • 有的文讀起來真不錯(cuò)市埋。可是時(shí)不時(shí)地有幾個(gè)錯(cuò)別字蹦到你眼前恕刘,就像你喝著美味的粥不小心被硌了牙缤谎。文是美文,粥是好粥雪营,可就...
    茶潤(rùn)人生閱讀 193評(píng)論 0 1