V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wasd6267016
V2EX  ›  Android

有什么办法让 adb 命令能从电脑给国产手机装 apk 吗?

  •  
  •   wasd6267016 · 210 天前 · 4820 次点击
    这是一个创建于 210 天前的主题,其中的信息可能已经有所发展或是发生改变。

    adb install

    一加可以正常装上

    oppo vivo 华为 小米 都不可以 要么弹出登录界面 要么根本就没响应

    ov 是必不可以 华米有的机型可以 有的不可以

    做了个自动化工具,最后一步却卡在了这里 真的头大

    第 1 条附言  ·  210 天前
    “adb install 一加可以正常装上”
    这句话的潜台词就是肯定开了开发者模式 开启了调试 信任了电脑 不然所有的 adb install 都装不上
    第 2 条附言  ·  210 天前
    这个问题结了
    基本无解 系统层面的拦截

    有个可行的思路 自己写个辅助服务 检测到 apk 安装器的包名的 app 启动就自动输入密码
    前提是 1 你这个辅助服务要可以保活 小心后台被杀 2 你得知道这个手机对应的在线账号密码
    这个方案貌似可以 但是最难的是 每个牌子要写一个 每个牌子的新老系统还有可能不同 也要分开写

    别的方法应该都不行
    60 条回复    2021-09-29 13:08:02 +08:00
    ddosupup
        1
    ddosupup  
       210 天前
    root
    jim9606
        2
    jim9606  
       210 天前
    小米那个登录账号就可以开 USB 安装啊。
    如果你想绕过这个,你先交代你想干什么坏事?
    kebamt
        3
    kebamt  
       210 天前 via iPhone
    安装不太清楚,不过可以卸载😁
    有一个软件来着利用爱 adb 命令卸载预装应用
    Chihaya0824
        4
    Chihaya0824  
       210 天前
    除了阴间 vivo (每次安装都要输 vivo 的密码),小米华为 lg 等等都直接 adb install 完事了(虽然要手动确认),前提是开发者开了 usb 安装
    wasd6267016
        5
    wasd6267016  
    OP
       210 天前
    @jim9606 大哥 你这审问的
    说了做了个自动化工具 给内部用的
    小米有的可以有的不可以 导致别人用起来不方便 (有人不知道自己没开)
    所以我在问大家的是一个通用方法
    AoEiuV020
        6
    AoEiuV020  
       210 天前
    魔高一尺道高一丈的就别想了,人家就是故意禁那些自动安装的,有的手机可以取消,有的不可以,
    刚试了下 root 可以绕过 miui 的限制,其他就不能保证了,有需要只能一个一个试过去,
    wasd6267016
        7
    wasd6267016  
    OP
       210 天前   ❤️ 1
    @Chihaya0824 ov 基本可以确定无解了
    华米的我确认下那个 usb 安装
    怪不得华米有的时候可以 有的时候不可以
    wasd6267016
        8
    wasd6267016  
    OP
       210 天前
    @AoEiuV020 唉…… 真难 root 自己手机可以 要求别人也为了我这个工具 root 不现实
    unco020511
        9
    unco020511  
       210 天前
    必须开启允许 USB 安装
    xiqishow
        10
    xiqishow  
       210 天前
    确实 VIVO OPPO 每次安装都需要输入密码,可以先做一个 app,使用辅助服务,检测弹出是否是安装输入密码的对话框 输入预先设置的密码登录,然后 adb 会直接安装上了,好多云真机的测试平台都是这么做的。
    janus77
        11
    janus77  
       210 天前
    你不会是没开启开发者模式吧,adb 很容易装的啊
    GoldenLee
        12
    GoldenLee  
       210 天前
    直接分发 apk 吧,让用户手动安装
    wasd6267016
        13
    wasd6267016  
    OP
       210 天前
    @xiqishow 我还真的做过 但是实际情况复杂得多…… 每个牌子要做一个 然后有的人测试机自己也不知道密码…… 还有那个辅助服务也总是自动被关掉……
    1235467
        14
    1235467  
       210 天前
    华为反正我的允许 usb 调试后就可以装
    ctro15547
        15
    ctro15547  
       210 天前
    开启开发者模式的 ADB 调试, 有些手机会有 adb install 的开关,好像小米就有,留一下开发者选项 开启就好。
    xiqishow
        16
    xiqishow  
       210 天前
    @wasd6267016 嗯 有的厂家云真机 oppo vivo 也偶尔会不好使
    james2013
        17
    james2013  
       210 天前
    直接传到 fir 网站或者本机开个文件服务,扫二维码下载安装.
    Android 每个手机都要打开开发者模式和开启 usb 调试,麻烦多了.还不如直接二维码下载安装.
    learningman
        18
    learningman  
       210 天前   ❤️ 5
    你知道不,有的机场啊火车站那种充电的地方,就非要你开 USB 调试,然后你充个电给你装一大堆 app
    所以国产系统才有这个功能,这其实是个 feature
    wasd6267016
        19
    wasd6267016  
    OP
       210 天前
    @learningman 嗯 懂安全考量 但是也真的苦了正经开发者
    minsheng
        20
    minsheng  
       210 天前 via iPhone
    @learningman iPhone 用户不懂提问一下:安卓就没有类似 iPhone 的那种信任此电脑的选项吗?还是说不信任就不给充电?
    mxT52CRuqR6o5
        21
    mxT52CRuqR6o5  
       210 天前   ❤️ 1
    看到 20 楼也没明白你说的不可以是哪种不可以,你的可以是指不需要 usb 调试信任就能直接 adb install,还是说你 usb 调试信任了之后还是不能 adb install
    honjow
        22
    honjow  
       210 天前 via iPhone   ❤️ 1
    @wasd6267016 正经开发者不会手动开 adb 手动信任?
    Jirajine
        23
    Jirajine  
       210 天前 via Android
    @learningman 默认都是仅充电模式吧,难道这些地方不授权 USB 调试不给冲?
    root99527
        24
    root99527  
       210 天前 via iPhone
    H 家的是需要登录账号并且打开开发者模式允许的
    learningman
        25
    learningman  
       210 天前 via Android
    @Jirajine 对的
    BrettD
        26
    BrettD  
       210 天前 via iPhone
    既然都是内部工具,不能让用户自己动手安装吗?
    hshpy
        27
    hshpy  
       210 天前
    谷歌官方文档写明 Android 11 得先配对,你的有的可以有的不可以应该是系统版本吧。
    必须打开开发者模式,再打开 usb 调试或无线调试。
    wasd6267016
        28
    wasd6267016  
    OP
       210 天前
    @hshpy 国产系统全都有拦截 尤其是 ov 点开开发者模式、打开 usb 调试 照样无法安装
    wasd6267016
        29
    wasd6267016  
    OP
       210 天前
    @mxT52CRuqR6o5 开头第一句就是“一加可以安装” 肯定是开了 usb 调试啊 你这么说说明你根本没遇到过这个问题也不会解决这个问题 不必勉强


    @honjow 要不你先别急着讽刺自己试一试再发表高论? 事实情况就是有些国产品牌你打开了 adb 调试模式 手动信任了 也无法直接 adb install
    wasd6267016
        30
    wasd6267016  
    OP
       210 天前
    @BrettD 对哦 我怎么就不知道让用户自己动手安装呢
    wasd6267016
        31
    wasd6267016  
    OP
       210 天前
    @hshpy 正统 android 这个步骤应该没问题 一加就很顺畅
    但是国产定制系统就会遇到各种不稳定
    wasd6267016
        32
    wasd6267016  
    OP
       210 天前
    @kebamt 卸载确实很稳定的可以……
    mxT52CRuqR6o5
        33
    mxT52CRuqR6o5  
       210 天前 via Android
    @wasd6267016 我手里小米 10 pro 打开 usb 调试&usb 安装&关闭通过 usb 验证应用且信任 usb 调试后可以正常 adb install 安装应用,其他小米不清楚,所以说还是没明白不可以是怎么个不可以
    wasd6267016
        34
    wasd6267016  
    OP
       210 天前
    @mxT52CRuqR6o5 你不读题谁也没法给你说明白啊 “一加可以正常装上” “华米有的机型可以 有的不可以”
    我认为知道 adb install 之前开调试信任是能回答这个帖子棘手问题的基本前提吧 你还在这没读懂要不要开 usb 调试信任
    不开 usb 调试一加能通过 adb install 装上 apk 吗
    问题就是 你的准备工作做全了 ov 华为这些国产系统还是无法顺畅的通过电脑装上版本
    好 题给你解释明白了 你有对应方案吗 显然没 因为从你第一个回复的搞不懂就可以知道你就没遇到过这种情况
    甚至你还在考虑“不需要 usb 调试信任就能直接 adb install”这个情况就知道
    xFrye
        35
    xFrye  
       210 天前
    ov 都不行,会弹出弹窗让你填用户密码,这也是我反感用他们做测试机的原因。
    miui 的话,关闭 miui 优化可以直接 adb 安装,不会弹出那个第一次安装确认弹窗
    wasd6267016
        36
    wasd6267016  
    OP
       210 天前
    @xFrye 感谢 那我可以试试关闭 miui 优化
    xLuoBo
        37
    xLuoBo  
       210 天前 via iPhone
    @jim9606
    早些年流行刷机的时候,有很多做充电宝,充电头的人找我们先 root 装后门,不能 root 的给装个无图标的服务。你们想想他到底要干嘛
    mxT52CRuqR6o5
        38
    mxT52CRuqR6o5  
       210 天前 via Android
    @wasd6267016 所以你花时间搁这打了这么多字,也不肯明明白白的解释清楚装不上到底是怎么个装不上(就比如 ov adb install 需要输用户密码,你从头到尾都不肯明说,还是其他用户说的,我也不知道藏着掖着是想干嘛,其他牌子的手机 adb install 之后又是如何如何所以装不上也不清楚),你对这些手机拥有何种程度的控制也从没说过,我就不明白你这啥都不解释是想如何让网友给你解决问题,还是说你根本不想解决问题只是单纯的来抱怨的,你要是并不想解决问题就请一开始就说清楚,搞得我搁着热脸贴冷屁股似的
    而且合着没遇到过一模一样的问题就不能根据已有的知识出主意了?你是已经弄清楚 adb install 的所有问题才开始做这个需求的?还是说没有 100%完整尝试过所有解决方法的人都没资格来回复?
    mxT52CRuqR6o5
        39
    mxT52CRuqR6o5  
       210 天前 via Android
    我就说几个思路
    厂商自家的手机助手尝试用过吗?像华为手机助手有自家魔改的 adb(hdb),多出一些厂商定制功能

    Shizuku 和 sai 尝试过没有?

    而且就算是输入密码,adb 模拟输入有没有尝试过能不能用?如果能用比辅助服务简单的多吧
    wobuhuicode
        40
    wobuhuicode  
       209 天前 via iPhone
    小米的需要插 sim 卡和登录账号才能开启……真的挺恶心人的。
    ptmicky
        41
    ptmicky  
       209 天前
    我记得华为有的机型是用 adb shell bm install -p sdcard ....apk ,有的则是用 bat 文件,里面写
    adb devices
    adb install -r %~1
    把安装包拉到 bat 文件上面才可以
    ptmicky
        42
    ptmicky  
       209 天前
    @ptmicky 前提是 开发者选项中 usb 调试模式已连接,如果 usb 线有问题,很大程度也影响你安装程序的成功率
    Dragonphy
        43
    Dragonphy  
       209 天前
    adb uninstall 卸载过小米的内置应用,然后我就用不了 nfc 了,因为依赖小米钱包😅
    zjb861107
        44
    zjb861107  
       209 天前
    adb push 到手机,然后通过文件管理器安装
    wasd6267016
        45
    wasd6267016  
    OP
       209 天前
    @zjb861107 可以 但是我也可以给个经验
    adb push 比直接电脑拷贝到手机要慢不少 因为 adb push 是走的貌似是 tcp 协议
    2g 大小的 apk 直接拖拽过去 终端机器 30s 不到 adb push 的话要 2 分钟以上
    wasd6267016
        46
    wasd6267016  
    OP
       209 天前
    @ptmicky pm install 吧 我也试过了
    1 新版本安卓目录要求很高 必须是 data/tmp 什么什么的那个目录 还要提前告诉大小
    2 最离谱的是折腾了一圈 在 vivo 手机上 运行成功了 结果还是提醒被拦截了
    wasd6267016
        47
    wasd6267016  
    OP
       209 天前
    @mxT52CRuqR6o5 其实你就当成是筛选吧
    这个固有的问题 如果真的有解的人 看个标题就懂问题是什么了
    看不懂标题的人 我费大劲解释也不会有什么答案
    需要我解释 ov 会弹出密码框的,根本就没遇到过这种情况,我觉得大概率给不出什么有效信息 所以更不必冷嘲热讽

    并且事实是 ov 并不一定弹出密码框 我试了 4 个新旧款 vivo 手机 有三种表现 这么复杂的情况还需要一一说出来吗?
    什么叫藏着掖着 还搁这做有罪推定呢
    wasd6267016
        48
    wasd6267016  
    OP
       209 天前
    @wobuhuicode 对的 项目组的测试机 大概率没 sim 卡 大概率没账号 更大概率 有账号但是密码根本不知道……
    就很尴尬
    mxT52CRuqR6o5
        49
    mxT52CRuqR6o5  
       209 天前
    @wasd6267016
    ov 你说一下试了 4 款手机有 3 中表现,别人就知道靠模拟操作来 workaround 做起来会麻烦,你不说别人不会明白,不可能去买 4 个 ov 再重复你的实验
    而且筛选回答用户你不觉得自己太傲慢了吗,明明自己做这个需求时也不是把所有事情都搞明白再做的
    wasd6267016
        50
    wasd6267016  
    OP
       209 天前
    @mxT52CRuqR6o5 真正在实践中遇到过这个问题的人 其实都知道的

    筛选只是觉得没必要给一个没遇到过的人讲一遍 (不亲自遇到讲了也没什么用,沟通成本太高) ,没遇到过的人也不用听一遍

    这是个解决问题的帖子,追求效率而已,不是吹水聊天群
    mxT52CRuqR6o5
        51
    mxT52CRuqR6o5  
       209 天前
    @wasd6267016
    问题是你这么大个需求未必能找到完整做过这个需求的人
    如果这个问题是有解的情况下,更有可能的是 A 知道解决问题的某个步骤,B 知道另一个步骤,……
    他们都没完整做过你这个需求,但你把他们各自的某一小块经验组合起来就可能获得答案,这种情况难道你觉得不存在吗
    wasd6267016
        52
    wasd6267016  
    OP
       209 天前
    @mxT52CRuqR6o5 你说的也有道理 只是这个问题更像是一个独立的问题 我知道大概率无统一解了 只是想看看 V2EX 人才那么多 有没有什么 trick
    mxT52CRuqR6o5
        53
    mxT52CRuqR6o5  
       209 天前
    @wasd6267016
    我之前提出的意见
    官方自家的手机助手是否能静默安装,如果能的话是如何做到的
    调用通过 usb 线进行提权的 shizuku 调用静默安装是否会弹密码
    我不知道你有没有进行试验
    haython
        54
    haython  
       209 天前
    想问一下, 是出于什么考量,没有选择让用户自己下载安装?
    Lemeng
        55
    Lemeng  
       209 天前
    小米开权限可以。华为也可以,其他国产没用过
    FlyingShark
        56
    FlyingShark  
       209 天前
    无解,还是输入密码吧,个人感觉这个确实增强了安全性

    以 OPPO 为例,[安装身份验证]里面的验证频率,只能选每次验证和 15 分钟后再次验证
    Linhuai
        57
    Linhuai  
       209 天前
    魅族也 OK
    gam2046
        58
    gam2046  
       208 天前
    尝试通过包管理器安装,用户手动在手机上进行一次确认呢?

    adb push SOURCE /sdcard/1.apk
    adb shell am start -a android.intent.action.VIEW -d file:///sdcard/1.apk -t application/vnd.android.package-archive --activity-clear-task
    LewisW
        59
    LewisW  
       206 天前
    appium 应该可以做 就是麻烦点
    DzwsGo
        60
    DzwsGo  
       120 天前
    @jim9606 小米 8 实测无卡的话需要输入密码,而且拦截了 adb shell input text
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1235 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 18:20 · PVG 02:20 · LAX 10:20 · JFK 13:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.