我必须使用命令行在Android模拟器上启动应用程序。因为我知道adb命令有一个方法;
adb shell am start -a android.intent.action.MAIN -n com.example.myApplication
但是我必须在执行此命令之前找到应用程序包名称,所以任何人都可以帮我找到包名称,或者在模拟器上运行apk的任何替代解决方案
答案 0 :(得分:6)
在Linux上,只需使用此命令获取包名称:
aapt dump badging {apk-file.apk} | grep package | awk '{print $2}' | sed s/name=//g | sed s/\'//g
获取main(启动器)活动是类似的:
aapt dump badging {apk-file.apk} | grep launchable-activity: | awk '{print $2}' | sed s/name=//g | sed s/\'//g
对于我的个人用法,我编写了一个名为apkinfo.sh
的shell脚本,如下所示:
#!/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}
答案 1 :(得分:3)
aapt dump badging <path-to-apk>
答案 2 :(得分:1)
这是我在我的一个项目中使用的内容,在shell脚本中。
apk= #apk path
package=`.//aapt dump badging $apk | grep package | awk '{print $2}' | sed s/name=//g | sed s/\'//g`
echo $package
adb install $apk
如果您只想输入cmd提示符,那么它将是
.//aapt dump badging ***apk relative path*** | grep package | awk '{print $2}' | sed s/name=//g | sed s/\'//g
应该有用。
答案 3 :(得分:0)