嗯,adb install apk.apk只是一个美化的捷径:
adb push apk.apk /data/local/tmp
adb shell pm install /data/local/tmp/apk.apk
adb shell rm /data/local/tmp/apk.apk
Run Code Online (Sandbox Code Playgroud)
因此,如果您倾向于看到上传进度条 - adb push -p首先是您的apk,然后adb shell pm install手动或使用简单的脚本.
有点笨重,但如果您要求 ADB 执行以下操作,它可能会变得冗长:
$ adb --help
...
$ADB_TRACE
comma-separated list of debug info to log:
all,adb,sockets,packets,rwx,usb,sync,sysdeps,transport,jdwp
Run Code Online (Sandbox Code Playgroud)
例如,如果您ADB_TRACE=all在调用之前进行设置adb push(例如,通过ADB_TRACE=all adb push path/to/app.apk在单行中运行,或export ADB_TRACE=all提前执行操作),那么您会得到如下结果:
...
adb D 01-02 15:41:36 41828 1867505 adb_io.cpp:81] readx: fd=3 wanted=72
adb D 01-02 15:41:36 41828 1867505 adb_io.cpp:97] readx: fd=3 wanted=72 got=72 535441320000000020fd000000000000 STA2.... ....... [truncated]
adb D 01-02 15:41:36 41828 1867505 adb_io.cpp:107] writex: fd=3 len=51 53454e442b0000002f646174612f6c6f SEND+.../data/lo [truncated]
adb D 01-02 15:41:36 41828 1867505 adb_io.cpp:107] writex: fd=3 len=65544 4441544100000100504b030400000000 DATA....PK...... [truncated]
adb D 01-02 15:41:36 41828 1867505 adb_io.cpp:107] writex: fd=3 len=65544 44415441000001002c7903adab89d6d5 DATA....,y...... [truncated]
adb D 01-02 15:41:36 41828 1867505 adb_io.cpp:107] writex: fd=3 len=65544 4441544100000100e570055c0957c1d5 DATA.....p.\.W.. [truncated]
adb D 01-02 15:41:36 41828 1867505 adb_io.cpp:107] writex: fd=3 len=65544 4441544100000100f94f47fe441a3fa6 DATA.....OG.D.?. [truncated]
adb D 01-02 15:41:36 41828 1867505 adb_io.cpp:107] writex: fd=3 len=65544 44415441000001007bf1fa1b58c33b89 DATA....{...X.;. [truncated]
adb D 01-02 15:41:36 41828 1867505 adb_io.cpp:107] writex: fd=3 len=65544 4441544100000100c6d8384d98f7b39d DATA......8M.... [truncated]
...
Run Code Online (Sandbox Code Playgroud)
它粗略地实时显示了带有时间戳的 64k 块传输。