安卓adb调试,最佳实践:命令行安装apk软件的几种方式
发布于 作者:苏南大叔 来源:程序如此灵动~本文讨论使用命令行对安卓机里面的软件包进行安装。远程命令行安装的前提是打开了安卓机的开发者模式,可能出现的结果是静默安装或者被默认的安装器拦截而导致超时。那么,这样的问题该如何解决呢?
苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程经验文章。本文测试环境:doov@d80pro
,android@11
,win10
,adb@1.0.32
。本文要安装的龙套演员软件包:Microsoft Launcher
,xbrowser
。
安装模式:定制
需要在电脑上安装adb
软件,这个部分苏南大叔使用的是"刷机助手"的集成环境。参考:
【系统拦截】默认情况下,apk
包的安装,会被手机上默认的com.android.packageinstaller
所拦截。并且会根据手机的不同,调用不同定制化的后续拦截逻辑。(比如:安装界面加广告)。
【第三方定制】既然系统可以拦截定制,那么第三方软件包也是可以拦截的。从而把系统带广告的界面,替换成不带广告的界面。目前已知的软件有:installx
、LuckyPatcher
。这个部分待后续讨论。
【静默安装】【推荐】开启“开发者模式”后,可以使得各种拦截定制逻辑失效,直接静默安装软件。但是,要关闭一个“监控adb安装应用”选项。如下图所示:
命令一:adb install
【推荐】
在adb
顺利连接到手机后,可以在电脑上面直接执行adb install
命令,就可以启动传输和安装的过程。比如:
adb install "d:\freeme\微软桌面(Microsoft Launcher)v6.240103.0.1132381安卓版.apk"
或者也可以直接双击apk
包,也可以产生一样的效果。
如果安装失败,可能的原因是被安卓界面端被拦截了(非静默安装),或者包无法解析(上传超时)等原因。具体问题具体分析了。
命令二 adb shell pm install
安装软件的话,需要先把apk
包传到安卓手机上。参考文章:
例如:
adb push "d:\freeme\xbrowser-release.apk" /data/local/tmp/
然后再使用文件管理器【推荐】进行安装。或者执行下面类似的命令:
adb shell pm install --user 0 "/data/local/tmp/xbrowser-release.apk"
实际上adb shell
是执行在win10
上面的,pm install
是执行在安卓机上的。具体的pm
命令的使用问题,待后续讨论。
可能的失败原因
值得一提的是:
这个命令行安装的过程,可能并不是个纯命令行下面的交互过程。会有各种权限问题或者路径问题,或者被安装器拦截的问题。命令行下的安装过程是有可能失败的。
结语
苏南大叔的更多adb
命令的使用问题,请参考:
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。