获取.apk文件的主程序包名称

use*_*036 2 java command-line android adb android-emulator

我必须使用命令行在android模拟器上启动一个应用程序.因为我知道adb命令有一个方法;

adb shell am start -a android.intent.action.MAIN -n com.example.myApplication
Run Code Online (Sandbox Code Playgroud)

但是我必须在执行这个命令之前找到应用程序包名称,所以任何人都帮我找到包名,或者在模拟器上运行apk的任何替代解决方案

thu*_*yen 6

在Linux上,只需使用此命令获取包名称:

aapt dump badging {apk-file.apk} | grep package | awk '{print $2}' | sed s/name=//g | sed s/\'//g

获得主要(启动器)活动是类似的:

aapt dump badging {apk-file.apk} | grep launchable-activity: | awk '{print $2}' | sed s/name=//g | sed s/\'//g

对于我的个人用法,我编写了一个shell脚本apkinfo.sh,如下所示:

#!/bin/bash package=`aapt dump badging $* | grep package | awk '{print $2}' | sed s/name=//g | sed s/\'//g` activity=`aapt dump badging $* | grep launchable-activity: | awk '{print $2}' | sed s/name=//g | sed s/\'//g` echo echo package : $package echo activity: $activity

并使用如下:

./apkinfo.sh {path-to-apk-file.apk}