1. 程式人生 > >如何獲取一個APK的包名

如何獲取一個APK的包名

我們主要用的當然是adb shell命令啦。

adb shell官網介紹:

1. 通過adb shell進入到手機data/data目錄下,檢視包名(需要root)

adb shell

cd data/data

ls

2. 通過adb shell的pm命令,檢視包名(不需要root)

adb shell pm list package 
#將獲取手機內所有apk對應的包名

更多命令,請參考pm命令的介紹(http://developer.Android.com/tools/help/adb.html#pm):

比如我輸入,可以明顯看出不同。

adb shell pm list package -f
#將獲取手機內所有apk對應的包名和路徑

3. 通過使用adb shell的dumpsys命令,檢視包名(不需要root)

adb shell dumpsys window w | findstr \/ | findstr name=
#需要先開啟apk後,再敲入命令

4. 通過使用adb shell的dumpsys的另一個命令,檢視包名(不需要root)

adb shell dumpsys activity> c:\log.txt
#需要先開啟apk後,再敲入命令

輸入命令之後,cmd裡沒有任何提示,不過C盤目錄下,會多一個log.txt檔案。

開啟log.txt檔案,搜尋 Stack #1,然後尋找cmp=.

如下圖就可以看到包名和activity的名字。

5. 通過使用grep,檢視包名(不需要root)

adb shell
1|[email protected]:/ $ logcat | grep START
#需要先開啟apk後,再敲入命令

檢視最下面

接下來,不論開啟哪個APK,cmd命令會自動顯示出包名和activity的名字,比如我又打開了相簿~

可以看出相簿的包名是com.android.gallery3d,activity名字是.app.Gallery

6. 通過使用自帶的AAPT工具,檢視包名(不需要root)

APPT是Android Asset Packaging Tool , 在SDK的build-tools目錄下. 該工具可以檢視, 建立, 更新ZIP格式的文件附件(zip, jar, apk)

aapt dump badging (apk path)

可以找到包名和activity的名字,比如

package name = com.example.myfirstapp

activity name = com.example.myfirstap.MainAcitivity

7. 通過使用自帶的Hierayviewer工具,檢視包名(需要root和開啟view service)

#需要先開啟apk

8.通過使用apktool工具,檢視AndroidManifest.xml檔案得到包名(需要root)

apktool是GOOGLE提供的APK編譯工具,能夠反編譯及回編譯apk,同時安裝反編譯系統apk所需要的framework-res框架,清理上次反編譯資料夾等功能。需要Java支援。

不過我們只需要其中的二個步驟:

apktool d <file.apk> <dir>

#<file.apk>代表了要反編譯的apk檔案的路徑,最好寫絕對路徑,比如C:\apps\myfirstapp.apk
#<dir>代表了反編譯後的檔案的儲存位置,比如C:\apk\myfirstapp

1.使用apktool反編譯app:apktool d c:\apps\myfirstapp.apk c:\apk\myfirstapp
2.開啟AndroidManifest.xml

manifest節點的package屬性值是APK的包名:


android.intent.action.MAIN和android.intent.category.LAUNCHER對應的activity,該activity對應的android:name屬性既是入口activity名稱。
android.intent.action.MAIN表示應用程式最先啟動的Activity
android.intent.category.LAUNCHER表示應用程式是否顯示在程式列表裡

9.通過程式碼形式獲取包名

10.這個是網上找來的,沒有嘗試,有興趣的可以試試。

adb shell
logcat | grep Android.intent.category.LAUNCHER

相關推薦

如何獲取一個APK

我們主要用的當然是adb shell命令啦。 adb shell官網介紹: 1. 通過adb shell進入到手機data/data目錄下,檢視包名(需要root) adb shell cd data/data ls 2. 通過adb shell的p

如何獲取Android app的apk和launcherActivity?

若想要使用Appium來執行app,其前提條件:1、必須按鈕安裝Appium及其附屬(已完成);2、獲取app的apk及Activity 如何獲取呢,方法如下: 一、獲取apk包名 方法一、 1.將準備測試的APK放到E盤某個目錄,如D:\test  2.開啟c

Android自動化測試探索(三)Android SDK tools安裝、aapt配置以及使用aapt獲取apk

Android SDK tools安裝 下載連線: https://www.androiddevtools.cn 找到對應mac的版本下載安裝即可   AAPT配置 #1. 進入根目錄 cd ~  #2. 開啟.bash_profile,  如

adb獲取App的和啟動頁

apt -c andro mage .com 找到 清除 oba build 第一種情況: 查看手機裏面已經安裝的App: 1、 清除日誌: adb logcat -c 2、 啟動日誌: adb logcat ActivityManager:I *:s 3、 啟動手機App

APK和launcherActivity取法

device androi 查看 設置 bad 路徑 aapt view 截圖 每個新手在剛結束appium自動化,要嘗試下自己有無試水成功,小主在如何手機APP的基本信息的過程也有些糾結,不過有某個大神的熱心分享,具體地址忘記記錄下來了,大神莫怪莫怪小主。

eclipse修改android項目的apk

manifest activity ive lips 項目 nbsp provide undle .class 在Google提供的Eclipse集成開發環境adt-bundle下修改名稱的總結: 1. 修改工程名(apk名稱) 在彈出的對話框中輸入新名稱 該

檢視APK2種方法

方法1:adb shell "logcat | grep START"  執行該命令,等一小會logcat輸出資訊完畢,然後點選要檢視包名的APP, 我這裡點選的是訊飛輸入法,看到資訊彈出的第一條,com.iflytek.inputmethod 就是訊飛輸入法的包名 09

Android逆向之路---改apk、達到多開效果

前言 最近在某乎上有人在問我如何將打好的包更改包名。瞭解我的同學大概都知道,我喜歡自己動手做實驗,再將自己的方式分享給大家,這次我選擇了一個閱讀型別app,隨機選的。先看效果 如何做到的呢,那就把我的思路分享給大家。 ps:侵刪!僅供個人學習使用,

[Gradle] Android Studio批量打包完全自定義APK

Gradle 本身是基於 Groovy 語法, 支援批量打包, 非常方便, 大家都知道的.  但在批量打包時, 肯定有個包名重新命名的需求, 比如當前專案的 versionName 是 1.2.0, 使用者在裝置安裝APK後所看到的版本號就是 v1.2.0. 當然, APK

linux 檢視apk與類

使用NDK中的aapt工具檢視 aapt dump badging 應用程式.apk [email protected]:/media/diska-9/workspace/rk/firefly-android5.1/out/host/linux-x86/bin

appium獲取app的及啟動頁

1、通過命令獲取當前頁面的activity:adb shell dumpsys window w |findstr \/ |findstr name=(這條命令的作用是,獲取當前app和當前Activity的名字)2、獲取app的包名及app的啟動頁https://www.c

aapt 命令可應用於檢視apk、主activity、版本等資訊

進入Android SDK安裝目錄下 如 D:\Java\adt-bundle-windows-x86-20140702\sdk\build-tools\19.1.0 目錄下,把要檢視的apk安裝檔案複製到該目錄下,然後用cmd命令列進入到上面的路徑,執行aapt dum

獲取所有APP和啟動Activity

轉載自:http://my.eoe.cn/870420/archive/1314.html public class MainActivity extends Activity { ArrayList<String> list; private List&

一鍵輕松查看apk和Main Activity

int 按鈕 https 文件 upload class 命令 -m tar   今天在testerhome上看到這個小工具,只需右鍵apk文件就可以輕松查看包名和 Main Activity . 秉著好東西大家用的原則,希望通過簡書讓更多人看到

python獲取安卓與activity方法

添加 name open pytho activit main 獲取 activity exist 代碼如下: def adbcmdapk(filepath): if not os.path.exists(filepath): return 0

Android菜鳥筆記- 獲取未安裝的APK圖標、版本號、、名稱、是否安裝、安裝、打開

ack ear 例如 start true intent ble post oca 周末閑來無事,把Android的基礎知識拿出來復習復習,今天主題是《獲取未安裝的APK圖標、版本號、包名、名稱、是否安裝、跳轉安裝、打開》 一、獲取APK圖標 通常讀取APK的圖標能夠用

一個專案如何編譯多個不同簽名、、資源等,的apk

簡介 如題所示!本篇文章就是為了解決這種問題。方便打包和執行的時候能做到無需手動替換配置,即可打包想要的apk。打包的時候,只需選一下想打哪種配置的apk就OK啦。 (^o^)/~ 先來看,有需求如下: 同一個專案 不同的apk圖示 不同的伺服器域名 不同的包名 不同的名稱 不同的簽名 不同的第三方k

怎麼獲取apk??

如何知道一個App的包名呢?它的啟動頁的Activity又是什麼呢?   包名(Package name)在Android系統中是判斷一個App的唯一標識,不同的App可以有同樣的名字,但是它的包名不可以相同。   例如我可以自己編譯生成一個App也叫“微信”,但是我

【Android】獲取手機中已安裝apk檔案資訊(PackageInfo、ResolveInfo)(應用圖片、應用等)

眾所周知,通過PackageManager可以獲取手機端已安裝的apk檔案的資訊,具體程式碼如下 PackageManager packageManager = this.getPackageManager();  List<PackageInfo> pac

Android Studio 一個工程打包多個不同APK

公司最近有個特別的需求,同一套程式碼,稍做修改(如包名不一樣,圖示不一樣,應用名不一樣等),編譯出幾個不同的應用。剛好用AS重構完專案,在網上查閱了一些資料,終於搞定!!在這記錄一下。 AS主要是利用gradle來實現這個需求的,具體做法如下: 修改ap