Android開發(fā)過程中我們有時需要使用第三方apk資源,而啟動第三方apk在某些情況下需要指定相應(yīng)的包名和啟動的Activity名,這個時候就需要獲取這兩個名稱,我們可以使用如下三種方法:
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、網(wǎng)站制作、烏蘭網(wǎng)絡(luò)推廣、微信小程序、烏蘭網(wǎng)絡(luò)營銷、烏蘭企業(yè)策劃、烏蘭品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供烏蘭建站搭建服務(wù),24小時服務(wù)熱線:13518219792,官方網(wǎng)址:chinadenli.net
1、使用aapt //aapt是sdk自帶的一個工具,在你安裝的Eclipse路徑下的sdk\build-tools\中,如我的是D:\Eclipse\androidTools\sdk\build-tools\android-4.4.2,如果你下載有apk反編譯工具,也可以直接使用里面的aapt
以“GO備份.apk”為例,先進(jìn)入cmd命令行窗口,然后運(yùn)行:D: - Eclipse\androidTools\sdk\build-tools\android-4.4.2
- aapt dump badging C:\Users\Administrator\Desktop\GO備份.apk,即可獲取到AndroidManifest.xml中我們需要的內(nèi)容,如
package: name='com.jiubang.go.backup.ex'
launchable-activity: name='com.jiubang.go.backup.pro.StartupPageActivity'
2、查看AndroidManifest.xml
同樣是查看AndroidManifest.xml,這里我們可以采用反編譯方法來獲取信息,同樣是打開cmd命令行窗口,然后運(yùn)行:E:
- apk反編譯工具\(yùn)apktool\apktool - apktool.bat d -f C:\Users\Administrator\Desktop\GO備份.apk GO備份,然后打開“GO備份”文件夾,打開droidManifest.xml文件,找到manifest節(jié)點(diǎn)的package屬性值package="com.jiubang.go.backup.ex"語句即為包名,查找android.intent.action.MAIN和android.intent.category.LAUNCHER對應(yīng)的activity,該activity對應(yīng)的android:name屬性即為入口activity名稱,如activity
android:name="com.jiubang.go.backup.pro.StartupPageActivity"。
3、使用uiautomatorviewer
可以直接在命令行輸入uiautomatorviewer,打開獲取屏幕截圖工具,連接手機(jī),打開所要獲取包名的應(yīng)用,然后獲取其截圖,根據(jù)截圖查看package即可,uiautomatorviewer的使用這里就不做介紹了。使用這個需要注意的是,該app必須是有界面的,否則無法獲取。
另外,
android.intent.action.MAIN 屬性決定應(yīng)用程序最先啟動的Activity
android.intent.category.LAUNCHER屬性決定應(yīng)用程序是否顯示在程序列表里
1、查看當(dāng)前運(yùn)行app的包名
2、通過包名查找apk的安裝路徑
3、查看當(dāng)前運(yùn)行的Activity名稱
4、獲取第三方APK的包名和入口類名
PackageManager manager = this.getPackageManager();
PackageInfo info = manager.getPackageInfo(this.getPackageName(), 0);
info.packageName就是包名
一、
先說明一下這里講的方法是通用的,而網(wǎng)上其他方法獲取PackageName不通用(因?yàn)樗墙⒃趓oot的基礎(chǔ)上的,我不敢保證你的設(shè)備已經(jīng)root)。
①在android設(shè)備上點(diǎn)擊一下你要測試的應(yīng)用,然后就不用操作設(shè)備了。
②在PC上的命令行輸入:adb logcatD:/log.txt *:I
在這里的D:/log.txt你可以改成其他的路徑,但是一定要先確保路徑下沒有這個文件,不然的話你以前的文件就被改掉了,一定要小心。
③按下Ctrl+c先停掉(為了避免過多的新信息)。打開剛剛的那個文件D:/log.txt。從文件最下面開始找下面格式的信息
I/ActivityManager( 數(shù)字): Displayed 包名/類名: +數(shù)字ms
例如我的信息如下:
I/ActivityManager( 272): Displayed com.vane/.act.ActLauncher: +315ms
不過你可能會發(fā)現(xiàn)有很多這種格式的信息,到底哪個才是你需要的呢,如果你嚴(yán)格按照剛剛的步驟做的話,那么很可能是最下面那條信息,即使不是那么也肯定是最下面幾條信息中的某一條,這需要你根據(jù)應(yīng)用進(jìn)行辨別。
二、使用aapt工具
cmd中進(jìn)入到aapt所在目錄,輸入
aapt dump badging 包絕對路徑
就可以看到包名和權(quán)限等信息了
當(dāng)前題目:android獲取包名,獲取apk包名
標(biāo)題URL:http://chinadenli.net/article48/dsdcphp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、網(wǎng)站策劃、小程序開發(fā)、外貿(mào)網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)