MobileComm 板


LINE

因为我的旧手机是固定丢在车上当导航的 懒得拿回家里接线 所以研究了一下无线ADB简单分享给大家 基本上只要连在同一个网路的两支手机, 甚至用同一只手机操作都可以 不用接线了 以下针对要被ADB的手机成为目标手机 要操作指令的称为操作手机(操作手机可以跟目标手机是同一只) 但好像要目标手机在安卓10以後才能用无线adb 步骤如下 1.操作手机先安装Termux https://play.google.com/store/apps/details?id=com.termux 2.操作手机打开Termux後 先安装adb 输入指令 pkg install android-tools 有(y/n)选y 3.确定两支手机连结到同一个wifi (如果操作跟目标手机同一支则忽略) 我刚好有连结wifi 不确定没有wifi能不能继续 看说明是说在同一个wifi环境下侦错 可能不能用4g网路 4.目标手机去开发人员选项 打开无线侦错 勾选允许 再点一下无线侦错进入下一个画面 5.点选使用配对码配对装置 5.1如果操作手机跟配对手机是同一只 由於跳出配对画面,配对码就会消失 这时候要用分割视窗让配对画面在上半部 Termux在下半部来操作 6.在操作手机上输入配对画面的资料 adb pair ip位置:通讯埠 范例 adb pair 192.168.1.101:41733 接着输入配对码 让操作手机可以配对找到目标手机 7.配对好之後,配对画面会消失 8.接着操作手机输入 adb connect ip:通讯埠 注意是前一个画面的 通讯埠会跟配对的不一样 正常 9.连上之後就等同接线adb了,这时候如果是同一只手机,可以结束分割画面了 这边开始也可以接到任何要adb的其他操作 如果是像Chromecast 手表之类的装置 也都可以用上面的方式无线adb 10.继续输入原po的指令 adb shell pm compile -m everything -f -a 11.搞定收工 记得去把无线侦错关掉比较安全 我也会把Termux删除以策安全 还是其实留着没差,请其他大神分析 12.如果将来要继续使用adb 例如要跑原文的3.2 (2) 若只对尚未编译的程式进行编译 (适用於程式更新後): adb shell pm compile -m everything -a 因为已经配对过了 直接从8.连线adb即可 不需要再次做7.以前的步骤 (当然打开无线adb跟同一个wifi还是需要) ※ 引述 《tom282f3 (小小年纪所向无敌)》 之铭言: : 标题: [心得] adb编译,启动!解救慢吞吞的老手机! : 时间: Sun Mar 23 21:58:26 2025 :   : 大家好,我的主力机是还没换过电池的原汁原味2018年旗舰Galaxy Note 9 (台版Exynos 6G : B/128GB),用到现在第六年,应该比版上多数人的主力机都老了XD :   : 究竟当年的旗舰机现在有多慢呢?随便开任何一个App都可以等十秒,结帐永远是我卡住 : 家......剩下的说多了都是泪QQ :   : 前阵子研究了三星官方提供的Galaxy App Booster之後,搭配版友的讨论、网路上的文件 : 其他人的讨论等,整理了以下的一些心得,希望可以帮助跟我一样同样身陷在垃圾效能手 : 当中的人~ :   :   :   :   : 【Galaxy App Booster的原理?】 :   :   : (注意这段比较长,想要直接实践出真知的人,可以跳到下一段: : 【如何手动进行编译】) :   :   : Android的app预设并不是用底层硬体可以直接执行的机器语言 (Machine code,人通常看 : 懂) 储存的,而是以比较高阶 (人看得懂) 的程式语言形式储存在手机内部的。机器终究 : 是人,看不懂人类写的程式语言,只能读懂机器语言的一条条指令。高阶的程式语言,会 : 要先翻译为低阶的机器语言才能执行,可以类比为: :   : - 程式语言:买一包最便宜的米 :   : - 机器语言:找钱包→带钱包→出门→走到某家量贩店→走到米的走道→反覆比较找到最 便 : 宜的米→把米拿起来→去结帐→走回家 :   : 可见机器语言所占用的空间较大,但对机器而言是不可或缺的。在远古的Android 2.2时 : ,机器语言是透过Dalvik编译的,它只会在执行app的时候同步监测最常反覆出现的指令 : 并且将这些反覆出现的指令编译为机器语言,这种做法称为JIT (Just-in-time)。这样做 : 好处是占用空间少,坏处就是执行效能差、耗电 (因为每次点开app後都要重新编译)。 :   : 到了Android 4.4、5.0的时代,Google一改以往的做法,推出了Android Runtime (ART) : 代了Dalvik。ART的革命之处在於除了JIT以外,也支援对整个app提前编译为机器语言。 : 种做法称为AOT (Ahead-of-time),会占用较多的系统空间,但好处是AOT编译後就不需要 JI : T再编译一次了,可以直接上手,大幅增进了效率,对使用者而言就是手机的速度变快、 : 电变低了。在手机的Android系统升级後,第一次开机都会出现「更新应用程式... (1/50 0) : 」的进度条,就是在执行ART的AOT编译。 :   : 理论上在安装时就进行完整编译是最好的选项,但是这样做耗时会太久,因此Android 7 : 後的系统,在首次安装时并不会完整执行AOT编译,只有在手机闲置且充电时会在背景默 : 进行「较为完整」的AOT编译。说是「较为完整」,是由於编译整个App消耗的空间太大、 : 间太久,因此Android预设并不会将整个App都进行编译,会搭配使用App时同步监测的成 : (称为profile),再对部分程式语言执行编译与最佳化,力图在速度与储存空间上取得平 : 点。 :   : 然而......对老手机而言,这个平衡点就是App要花十秒才跑得出来XD,因此三星的Galax y : App Booster就是手动触发手机的AOT编译机制,让手机提前把程式语言编译为机器语言後 : 存起来,让下次使用时的速度得以提升。 :   : 对一个App进行AOT编译的比例 (称作Compiler filters) 由少到多,可以分成许多种 (各 : 厂商不同): :   : - verify : - interpret-only : - quicken : - space-profile、space : - speed-profile、speed : - everything-profile、everything :   : 越下面的模式,编译比例越高,编译的耗时也越久,编译後的App执行速度理论上较快。 : 带有profile字样的代表虽然是同种方法,但只会针对同步监测的结果进行编译,编译耗 : 较短,但是之後执行会比不带有profile字样的更慢。 :   : Android 8~11预设似乎都是quicken (但各家厂商会有不同),Galaxy App Booster则是以 sp : eed-profile进行编译。聪明的你一定发现了,那为何不用everything编译呢?这样速度 : 不是会更快?我自己实测了之後,发现还真的有变快! :   :   :   :   : 【如何手动进行编译】 :   :   : 理论上,Android 7以後的系统都支援手动编译,只需要电脑连接与adb即可,不需要root : 限。 :   : 1. 先开启手机的「开发人员选项」,并且启用「USB 侦错」。 :   :   : 2. 将手机连接上电脑,输入指令「adb devices」以启动adb并确认连接。 :   : (1) 连接完成後,会跳出类似这样的内容,最後有「device」字样即为连接完成: : List of devices attached : 424947564e473498 device :   : (2) 若最後为「unauthorized」,请你在手机上点「允许这台电脑进行USB侦错」: : List of devices attached : 424947564e473498 unauthorized :   : (3) 若最後为「unauthorized」,但手机并未跳出讯息,请依序输入以下两条指令重 : 启动adb服务 (感谢kkkk1234版友提供): : adb kill-server : adb start-server :   :   : 3. 输入指令,以everything模式重新编译程式 :   : (1) 若要强制对所有程式重新编译 (适用於第一次执行): : adb shell pm compile -m everything -f -a :   : (2) 若只对尚未编译的程式进行编译 (适用於程式更新後): : adb shell pm compile -m everything -a :   : (3) 若只要强制对特定程式进行编译 (将<package_name>取代为程式的套件名称,例 : 如Spotify为com.spotify.music): : adb shell pm compile -m everything -f <package_name> :   : 这个步骤最为关键!将所有程式以everything模式重新编译需要数小时的时间。输入 : 令後,手机就会开始在背景编译,此时无论拔掉传输线、重开机都无法阻止 (我试过了XD ) : ,所以会有几个小时手机会发热、变慢、耗电大,也无法更新或安装其他程式 (会显示安 : 失败)。 :   :   : 4. (可跳过) 输入指令,重新编译UI的图像资源 :   : (1) 若要强制对所有程式重新编译: : adb shell pm compile --compile-layouts -f -a :   : (2) 若仅对未编译的程式进行编译: : adb shell pm compile --compile-layouts -a :   : 这个指令会编译UI的图像资源,但我感觉不出编译完的效果XD :   :   : 5. 後记 :   : (1) 跑完後如果跳出以下错误讯息: : Failure: the following packages could not be compiled: ...... : 这是正常的,列出的是因某些原因而无法编译的程式,如果不是系统程式的话, : 有可能是因为手机剩余空间不够喔。 :   : 只要清出空间後,再执行一次3. (2) 适用於程式更新後的编译就OK了! :   :   :   :   :   : 【如何手动移除编译】 :   :   : 1. 输入指令:adb shell pm compile -f -a -r install :   : 这个指令会将所有程式回复为安装时的编译初始值。要注意这其实是将所有程式用比 : 简略的模式重新编译一遍,所以还是会花到不少时间! :   :   :   :   : 【实测?】 :   :   : 实测我的Galaxy Note 9上有768个程式: :   : - 移除编译:59分钟 : - 手动编译:大约4小时,只有几个程式无法编译 : - 编译图像资源:大约2分钟,跳出一堆无法编译的程式XD :   : 整体编译完成後,空间多占据了5.2 GB,不过打开app马上就能发现顺滑很多! :   : 差异是从「我明天就想换手机」变成「可以再战一年」的程度,非常推荐! :   : 希望以上可以帮助到同样在使用老手机的各位版友,如果有错误的话也请不吝指正,谢谢 :   :   :   :   : 【参考资料】 :   :   : - 版友的讨论: : #1VrNHVPE (MobileComm) :   : - Google官方的文件: : https://bit.ly/4kR6mzn :   : - 中国CSDN文章: : https://bit.ly/4hBoc6O :   : - 对Galaxy App Booster反编译的探讨文章: : https://bit.ly/4kQRdhw :   : - XDA论坛上网友提供的Minimal ADB and Fastboot (把Google官方的adb提取出来的, : 以前刷机都是用这个XD): : https://bit.ly/4bT8XVB :   : - Reddit论坛上的指令参考: : https://bit.ly/4kWmlfM :   : 另外Reddit这篇讨论串里面,网友还会再输入这个指令: : adb shell pm bg-dexopt-job : 这个指令会启动手机背景运作的编译最佳化程序,不过前面既然已经编译过了,而且 : 译最佳化也不是以everything模式运作 (需要root才能改),所以我认为是多余的XD :   :   : -- : Sent from my Samsung Galaxy Note 9 :   : ○ PiTT // PHJCI :   -- Sent from my Google Pixel 9 Pro XL PiTT // PHJCI --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.228.102.52 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MobileComm/M.1742790964.A.731.html ※ 编辑: amilkamilk (61.228.102.52 台湾), 03/24/2025 12:36:57 ※ 编辑: amilkamilk (61.228.102.52 台湾), 03/24/2025 12:39:31 ※ 编辑: amilkamilk (61.228.102.52 台湾), 03/24/2025 12:41:40
1F:推 k9120303 : 旧手机可以开WiFi侦错的话,不用配对别支手机吧?03/24 12:44
2F:→ k9120303 : 直接用aShell之类的Terminal APP就好了03/24 12:45
哈,我是文组 看不懂你说的是什麽 这是自己推敲出来的方式 如果有大神有更简单的方式 也欢迎分享
3F:→ k9120303 : 但还是推分享03/24 12:45
※ 编辑: amilkamilk (61.228.102.52 台湾), 03/24/2025 12:47:12
4F:推 k9120303 : 另外同WiFi下也可以用adb connect ip的方式连线03/24 12:49
5F:→ k9120303 : 楼主可以研究一下shizuku 哈哈03/24 12:50
6F:→ amilkamilk : 好的。感谢,真的是隔行如隔山XXD03/24 12:50
7F:→ amilkamilk : 看懂了,Shizuku配对更简单了03/24 12:53
8F:→ grantchiue : 刚看第一篇本来就要用 LADB 来弄,但发现公司没有03/24 13:15
9F:→ grantchiue : wi-fi 环境…03/24 13:15
10F:推 abc0922001 : 酷感谢教学03/24 13:29
11F:→ manbow77 : termux现在用google play就可以更新了03/24 13:38
12F:→ manbow77 : wifi adb好像安卓11以上才有 太旧的只能先刷机03/24 13:38
13F:→ manbow77 : 同个wifi 其中一台开热点给另一台连就可以了03/24 13:41
14F:→ manbow77 : termux可留着 adb以外还有各种方便用途03/24 13:43
※ 编辑: amilkamilk (114.136.145.105 台湾), 03/24/2025 13:54:51
15F:→ justin332805: LADB跟Shizuku都可以用 03/24 13:56
发现这两款好像在play shop都要收费 这样termux好像还有一点使用的价值
16F:→ justin332805: WiFi侦错下自己下指令给自己 03/24 13:56
17F:→ justin332805: 不用依靠别台装置 03/24 13:56
※ 编辑: amilkamilk (114.136.145.105 台湾), 03/24/2025 13:59:46
18F:推 slsamg7112 : 这样理论上shizuku+支援的终端app都能用吧 03/24 14:12
19F:推 k9120303 : ladb和shizuku在github上都是开源可以免费下载的 03/24 14:29
20F:→ amilkamilk : 这样play shop上收费好奸诈XXD 03/24 14:32
21F:推 k9120303 : aShell则放在gitlab, 个人觉得aShell好用许多 03/24 14:33
22F:→ manbow77 : 因为ashell就直接等於adb shell进入手机shell状态 03/24 14:38
23F:推 k9120303 : 重点是提示字和稳定度都比ladb好 03/24 14:42
24F:→ k9120303 : 在Reddit看到讨论 ladb某些函式的调用方法比较不好 03/24 14:43
25F:→ manbow77 : 其实透过termux一样可以自己adb自己 方法搜寻就有 03/24 14:43
26F:→ Louis430 : termux搞定後留不留都没差 反正最大问题保固早没了 03/24 16:13
27F:→ amilkamilk : 借这边问一下,旧手机如果是安卓10,有办法用另一 03/24 17:15
28F:→ amilkamilk : 支手机接线去ADB吗 03/24 17:15
29F:→ amilkamilk : 我直接把两只手机接线好像侦测不到ADB 03/24 17:15
30F:推 k9120303 : 有OTG功能的手机应该理论上可以(没试过) 但要改por 03/24 18:22
31F:→ k9120303 : t 03/24 18:22
32F:→ k9120303 : 用无线同WiFi下确定是可以的 03/24 18:23
33F:推 Yuwuen : 推推 03/24 22:00
34F:推 randy061 : 谢谢分享 03/24 22:43
35F:→ manbow77 : 两台手机透过OTG来ADB的话找专门app比较省事 03/24 23:23
36F:→ manbow77 : 但不见得每台手机都能用 需不需要root也不一定 03/24 23:24
37F:→ manbow77 : 直接商店搜寻otg adb应该就会有 03/24 23:25
38F:推 tcchu : shell的话我是用connectbot 但平常adb还是用电脑 03/25 02:21
39F:推 elcomcc : 谢分享 03/25 06:53
40F:推 athraugh : 推分享 教学 03/25 08:57
41F:推 nrsair : 感谢教学 03/25 10:20
42F:推 proton63 : S9/Note9 刷NOBLE ROM 4.3 OneUI 6.1.1 不香吗? 03/25 12:43
43F:推 spirit119 : 太厉害了 03/25 17:10
44F:→ grantchiue : 昨天 S24U 也编译了3个小时多 03/25 18:58







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP