adb可以得到package信息(非root手机也可以)。 只不过需要调用其他命令,然后自己再根据packagename过滤得到对应的应用信息。 wanliaixie是把过滤部分封装到了adb里面。
Android开发过程中我们有时需要使用第三方apk资源,而启动第三方apk在某些情况下需要指定相应的包名和启动的Activity名,这个时候就需要获取这两个名称,我们可以使用如下三种方法:
1、使用aapt //aapt是sdk自带的一个工具,在你安装的Eclipse路径下的sdk\build-tools\中,如我的是D:\Eclipse\androidTools\sdk\build-tools\android-442,如果你下载有apk反编译工具,也可以直接使用里面的aapt
以“GO备份apk”为例,先进入cmd命令行窗口,然后运行:D: -> Eclipse\androidTools\sdk\build-tools\android-442
-> aapt dump badging C:\Users\Administrator\Desktop\GO备份apk,即可获取到AndroidManifestxml中我们需要的内容,如
package: name='comjiubanggobackupex'
launchable-activity: name='comjiubanggobackupproStartupPageActivity'
2、查看AndroidManifestxml
同样是查看AndroidManifestxml,这里我们可以采用反编译方法来获取信息,同样是打开cmd命令行窗口,然后运行:E:
-> apk反编译工具\apktool\apktool -> apktoolbat d -f C:\Users\Administrator\Desktop\GO备份apk GO备份,然后打开“GO备份”文件夹,打开droidManifestxml文件,找到manifest节点的package属性值package="comjiubanggobackupex"语句即为包名,查找androidintentactionMAIN和androidintentcategoryLAUNCHER对应的activity,该activity对应的android:name属性即为入口activity名称,如<activity
android:name="comjiubanggobackupproStartupPageActivity"。
3、使用uiautomatorviewer
可以直接在命令行输入uiautomatorviewer,打开获取屏幕截图工具,连接手机,打开所要获取包名的应用,然后获取其截图,根据截图查看package即可,uiautomatorviewer的使用这里就不做介绍了。使用这个需要注意的是,该app必须是有界面的,否则无法获取。
另外,
androidintentactionMAIN 属性决定应用程序最先启动的Activity
androidintentcategoryLAUNCHER属性决定应用程序是否显示在程序列表里
以上就是关于如何用adb获得手机里面某个apk的版本信息全部的内容,包括:如何用adb获得手机里面某个apk的版本信息、如何查看Android应用apk的包名和入口Activity名称、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)