赞
踩
Android开发过程中我们有时需要使用第三方apk资源,而启动第三方apk在某些情况下需要指定相应的包名和启动的Activity名,这个时候就需要获取这两个名称,我们可以使用如下三种方法:
1、使用aapt //aapt是sdk自带的一个工具,在你安装的Eclipse路径下的sdk\build-tools\中,如我的是D:\Eclipse\androidTools\sdk\build-tools\android-4.4.2,如果你下载有apk反编译工具,也可以直接使用里面的aapt
以“GO备份.apk”为例,先进入cmd命令行窗口,然后运行:D: -> Eclipse\androidTools\sdk\build-tools\android-4.4.2 -> aapt dump badging C:\Users\Administrator\Desktop\GO备份.apk,即可获取到AndroidManifest.xml中我们需要的内容,如
package: name='com.jiubang.go.backup.ex'
launchable-activity: name='com.jiubang.go.backup.pro.StartupPageActivity'
2、查看AndroidManifest.xml
同样是查看AndroidManifest.xml,这里我们可以采用反编译方法来获取信息,同样是打开cmd命令行窗口,然后运行:E: -> apk反编译工具\apktool\apktool -> apktool.bat d -f C:\Users\Administrator\Desktop\GO备份.apk GO备份,然后打开“GO备份”文件夹,打开droidManifest.xml文件,找到manifest节点的package属性值package="com.jiubang.go.backup.ex"语句即为包名,查找android.intent.action.MAIN和android.intent.category.LAUNCHER对应的activity,该activity对应的android:name属性即为入口activity名称,如<activity android:name="com.jiubang.go.backup.pro.StartupPageActivity"。
3、使用uiautomatorviewer
可以直接在命令行输入uiautomatorviewer,打开获取屏幕截图工具,连接手机,打开所要获取包名的应用,然后获取其截图,根据截图查看package即可,uiautomatorviewer的使用这里就不做介绍了。使用这个需要注意的是,该app必须是有界面的,否则无法获取。
另外,
android.intent.action.MAIN 属性决定应用程序最先启动的Activity
android.intent.category.LAUNCHER属性决定应用程序是否显示在程序列表里
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。