Android探索之旅 | 用ADB獲取應用APK名

程式設計師聯盟發表於2018-11-28

Android探索之旅 | 用ADB獲取應用APK名

— 作者 謝恩銘 轉載請註明出處

用ADB獲取應用APK名


今天再來說一個”小”技巧:

在Android嵌入式開發中, 我們總是免不了要和ADB(隨著你下載的Android SDK就有, 在platform-tools資料夾中)打交道, 這個工具極為有用, 可以控制你的Android裝置。

首先, 用USB連線你的Android裝置和電腦, 保證驅動安裝完成之後,

開啟命令列, 輸入:

adb shell複製程式碼

進入ADB控制模式。

pm命令


pm是包管理(package manager)的簡稱, 我們可以使用pm命令來執行應用的安裝和查詢應用的資訊、系統許可權、控制應用, 等等。

先看一下pm命令有哪些組合:

上面我們已經進入了ADB控制模式, 我們現在就可以對Android裝置進行操作了。

在終端輸入

pm複製程式碼

Android探索之旅 | 用ADB獲取應用APK名

可以看到列出了pm的所有組合命令。

其中比較常用的是

pm list packages複製程式碼

用於列出Android裝置上的所有包名。

獲取應用APK名


假如我要禁用Android自帶的Messages這個預設應用程式, 我們可以在底層的配置檔案中進行, 不過我需要首先知道Messages的APK名稱, 注意不是包名。

因為Messages這個應用除了可以收發SMS之外, 還可以收發MMS, 因此其包名中包含了mms這個字串(別問我為什麼, Android就這麼設定了)。

查詢包含mms的包名, 可以這樣做:

pm list packages | grep mms複製程式碼

Android探索之旅 | 用ADB獲取應用APK名

可以看到應用的包名是

com.android.mms

那個com.android.mms.service不是我們所要的。

然後再用pm path命令來獲取真正的APK名稱, 如下:

pm path com.android.mms複製程式碼

Android探索之旅 | 用ADB獲取應用APK名

可以看到, 應用的APK名稱是

SecMms_Tablet_Delight

然後你獲取了APK名稱, 就可以在底層做你想做的事了。比如我在工作中就把Android自帶的Messages這個預設應用程式給刪除了。


人世間,
萬千情感皆有溫度,
千萬程式碼似有性格。
這裡有原創教程,IT叢林……
和你一起探索程式人生。
微信公眾號「程式設計師聯盟」ProgrammerLeague
我是謝恩銘,在巴黎奮鬥的嵌入式軟體工程師。
個人簡介
熱愛生活,喜歡游泳,略懂烹飪。
人生格言:“向著標杆直跑”

相關文章