今天用到 adb
命令进行 android apk
的操作,下面重新学习下如何使用 adb
命令进行 Android apk
的安装和卸载操作,以及模拟器操作
参考:
android adb使用
调用软件包管理器 (pm)
调用 Activity Manager (am)
intent 参数的规范
主要内容:
Android Studio
使用 adb
adb
工具存放在 sdk
目录的 platform-tools
下面
SDK_HOME/platform-tools/adb
当前操作系统:Win10
首先利用 Android Studio
生成一个 apk
,利用 adb
进行安装:
adb install app-debug.apk
安装失败,出现如下信息:
adb: failed to install app-debug.apk: Failure [INSTALL_FAILED_ALREADY_EXISTS: Attempt to re-install com.zj.listviewsamples without first uninstalling.]
它提示的是 apk
已经存在,其包名为 com.zj.listviewsamples
写下已安装的 apk
,命令如下:
adb uninstall com.zj.listviewsamples
卸载成功后,再次安装即可
apk
是否已安装可以使用命令 pm
来查找应用是否已在手机安装
进入 android
系统:
adb shell
输入命令 pm
查找已安装应用:
pm list packages
如果你已知道应用的部分包名信息,可进一步缩小范围:
pm list packages | grep "应用包名信息
应用的包名可从 AndroidManifest.xml
文件中查找到
Android Studio
使用
adb
之前我的文章里说过必须 root
的手机才能卸载应用,现在想想太 naive
了,其实就是打开开发者权限就可以了。
Android Studio
也是使用 adb
命令进行应用的安装和卸载等操作的
打开 AS
的 run
窗口就可以看到相应的信息
菜单栏 -> View -> Tool Windows -> Run(Alt+4)
安装过程中 AS
会自动打开 run
窗口显示在编辑框下面
adb
命令如下:
adb push ..\..\app-debug.apk /data/local/tmp/com.zj.listviewsamples
adb shell pm install -t -r "/data/local/tmp/com.zj.listviewsamples"
adb shell am start -n "com.zj.listviewsamples/com.zj.listviewsamples.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
首先是使用命令 adb push
将应用从电脑传入手机,其存放的路径 /data/local/tmp/
然后调用命令 pm install
安装该应用,其中参数 -t
表示允许安装测试 APK
,参数 -r
表示重新安装现有应用并保留其数据
最后调用命令 am start
启动应用,其中参数 -n
表示指定带有软件包名称前缀的组件名称以创建显式 intent
,参数 -a
表示指定 intent
操作(此指定只能声明一次),参数 -c
表示指定 intent
类别
如果需要卸载已安装版本,Android Studio
执行如下命令:
adb shell pm uninstall 应用包名
最开始学习 Android
的时候,也会仿照书上的操作进行模拟器的新建,以及相应的实现,但是后来在学习过程中,更愿意使用真机进行测试,觉得模拟器的操作不方便。
最近一段时间,又重新开始使用模拟器的操作,这次感觉操作模拟器方便多了,所以记录以下相应的操作
模拟器 emulator
在 sdk
的安装包中:
SDK_PATH\emulator\emulator
除了可以使用 Android Studio
进行模拟器的操作,还可以使用命令行的方式进行模拟器的操作
启动模拟器的命令如下:
emulator.exe -avd 模拟器名
使用参数 -avd
指定模拟器名即可启动
如果不清楚当前有那些模拟器,可以使用如下命令查找当前已创建模拟器:
emulator.exe -list-avds
创建模拟器还是使用 AS
比较方便