iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >android_使用adb安装app包的详细步骤和可能遇到的问题(apk文件)
  • 317
分享到

android_使用adb安装app包的详细步骤和可能遇到的问题(apk文件)

android 2023-10-21 05:10:03 317人浏览 安东尼
摘要

文章目录 refandroid设备端(手机)推荐设置 adb 端(电脑)实操参考adb文档可能出现的问题错误的进入adb shellmore than one device/emulat

文章目录

ref

Android设备端(手机)

  • USB选项:
    • 选择文件传输
    • 而不是仅充电(只会导致文件传输等功能无法生效)
      • 典型错误:more than one device/emulator
  • 打开开发者选项(developerOptions)
  • 启用USB调试(USB debugging)
    • Switche to debugging mode when USB is connected
  • 允许通过USB安装应用(apps)(Install via USB)
    • 根据设备情况启用(比如MIUI)
  • (可选)关闭授权过期功能(Disalble adb authorizatoin timeout)

推荐设置

  • 如果您经常用手机连接电脑做通行/传输,那么建议将usb连接的默认选项设置为File Transfer(文件传输)
  • 可以在设置搜索默认
    • 或者直接在设置中按照打开路径:Additional settings/Developer options/Default Use configuration/File Transfer

adb 端(电脑)

  • 进入到安装包所在目录
    • 或者,在可以使用adb命令的任意目录下,复制(输入)完整的app安装包(比如apk文件)的路径名
  • 执行
    • adb install app.apk完成安装

实操

  • 检查设备链接情况

    • PS C:\Users\cxxu\Desktop\n11tp> adb devicesList of devices attachedUO7PKFNF99IR9TV4        device
  • 执行安装

  • PS C:\Users\cxxu\Desktop\n11tp> adb install .\maGISk.apkPerfORMing Streamed InstallSuccess

参考adb文档

  • PS C:\Users\cxxu> adbAndroid Debug Bridge version 1.0.41Version 33.0.2-8557947Installed as D:\exes\platform-tools\adb.exe....省略篇幅....(跳过,直达主题:..app intallationapp installation (see also `adb shell cmd package help`):  install [-lrtsdg] [--instant] PACKAGE     push a single package to the device and install it install-multiple [-lrtsdpg] [--instant] PACKAGE...     push multiple APKs to the device for a single package and install them install-multi-package [-lrtsdpg] [--instant] PACKAGE...     push one or more packages to the device and install them atomically     -r: replace existing application     -t: allow test packages     -d: allow version code downgrade (debuggable packages only)     -p: partial application install (install-multiple only)     -g: grant all runtime permissions     --abi ABI: override platform's default ABI     --instant: cause the app to be installed as an ephemeral install app     --no-streaming: always push APK to device and invoke Package Manager as separate steps     --streaming: force streaming APK directly into Package Manager     --fastdeploy: use fast deploy     --no-fastdeploy: prevent use of fast deploy     --force-agent: force update of deployment agent when using fast deploy     --date-check-agent: update deployment agent when local version is newer and using fast deploy     --version-check-agent: update deployment agent when local version has different version code and using fast deploy     (See also `adb shell pm help` for more options.) uninstall [-k] PACKAGE     remove this app package from the device     '-k': keep the data and cache directories
  • 根据帮助文档:

    • app installation (see also adb shell cmd package help):
      • install [-lrtsdg] [–instant] PACKAGE
        push a single package to the device and install it
    • 可以发现,使用adb程序的子命令install来安装某个包到设备
      • 具体通过adb install来调用,因为install package是adb可执行文件提供的命令接口
      • 该包含了多个可选的选项和一个参数(安装包的路径)
      • 也可以不使用任何选项,默认行为就是执行app包文件安装
      • 吐槽一下原文档第一个子命令install没有换行的问题,容易漏看,可以结合grep来看文档

可能出现的问题

错误的进入adb shell
  • xaga:/sdcard $ install magisk.apkinstall: Needs 2 arguments
    • adb install 是adb可执行文件提供,而不是adb shell 提供的(toybox)
more than one device/emulator
  • PS C:\Users\cxxu\Desktop\n11tp> adb install .\magisk.apkadb.exe: more than one device/emulator
    • 初步排查:

      • 使用adb devices -l检查当前列表

        • 这里加一个参数-l会列出设备更加详细的信息,推荐加上,可看到设备型号
      • 下面是adb 将设备识别为多模拟设备

        • 这可能是根手机端选择的链接方式的选项有关!

        • 从而导致虽然只连接了一台设备,却扫描出了2台设备(包括模拟设备,应该是您的选项Use USB for 的选项更换之后导致的)

        • PS C:\Users\cxxu> adb devicesList of devices attachedUO7PKFNF99IR9TV4        deviceemulator-5554   offline
      • 如果向上面所讲的那样,发现了多台设备,那么考虑如下做法:

        • 断开所有adb链接:adb kill-server

          • 然后重新检查设备列表

          • PS C:\Users\cxxu> adb kill-serverPS C:\Users\cxxu> adb devices -l* daemon not running; starting now at tcp:5037* daemon started successfullyList of devices attachedUO7PKFNF99IR9TV4       device product:xaga model:22041216C device:xaga transport_id:1
          • 您也可以选择跳过adb kill-server,通过追加选项-s指定设备参数

          • 这样就不会导致设备指代不明的错误

          • 如果您链接了多个android设备(包括虚拟设备),

            • 考虑物理断开与其他设备
            • 但是最优雅的方式,是指定具体设备进行通行/控制
              • adb -s xxx
            • 这里的xxx代指的是设备序列号,例如上面的UO7PKFNF99IR9TV4
      • 开发者选项相关开关为正确开启,也可能导致相应错误

    • PS C:\Users\cxxu\Desktop\n11tp> adb install .\magisk.apkPerforming Streamed Installadb: failed to install .\magisk.apk: Failure [INSTALL_FAILED_USER_RESTRICTED: Install canceled by user]

来源地址:https://blog.csdn.net/xuchaoxin1375/article/details/127853819

--结束END--

本文标题: android_使用adb安装app包的详细步骤和可能遇到的问题(apk文件)

本文链接: https://www.lsjlt.com/news/433374.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作