屏幕适配资料集合
ADB 使用 tips
Mac 上设置环境 ADB 环境变量
echo "export PATH=\$PATH:/Users/${USER}/Library/Android/sdk/platform-tools/" >> ~/.zshrc && source ~/.zshrc
推送文件到设备
adb push local/path/file /device/path
# 例子
adb push Typora.dmg /storage/emulated/0/
从设备拉取文件到电脑
adb pull devices/path/file /local/path/
# 例子
adb pull storage/emulated/0/Download/tmp.apk ./
使用 WIFI 进行 Debug
如果你能使用 USB 连接设备
用 USB 线连接上你的设备,然后:
# 电脑终端输入
adb tcpip 5555
# 提示
restarting in TCP mode port: 5555
# 拔出 USB 线,输入
adb connect ip:5555 # 此 ip 是你设备的 ip 地址,自行替换
如果你没法使用 USB 连接设备
# 在手机打开终端(或终端模拟器)
su # 获取最高权限
setprop service.adb.tcp.port 5555 # 设置监听端口
# 重启 adbd 服务
stop adbd
start adbd
然后在你电脑的终端输入:
# 此 ip 是你设备的 ip 地址,自行替换
adb connect ip:5555
取消 WiFi debug 模式
# 连接上手机,在电脑终端输入
adb shell
su
setprop service.adb.tcp.port ""
stop adbd
# 这个时候会断开连接
# 你需要手动去『开发者选项中』,切换一下『USB 调试』,让他重启 adbd 服务
参看:
OkHttp 调用两次string() 抛异常
java.lang.IllegalStateException: closed
at com.squareup.okhttp.internal.http.HttpConnection$FixedLengthSource.read(HttpConnection.java:455)
at okio.Buffer.writeAll(Buffer.java:594)
at okio.RealBufferedSource.readByteArray(RealBufferedSource.java:87)
at com.squareup.okhttp.ResponseBody.bytes(ResponseBody.java:56)
at com.squareup.okhttp.ResponseBody.string(ResponseBody.java:82)
参看:
模块被添加两次报异常
build 的时候抛出如下异常:
…(Duplicate zip entry [android/support/annotation/c.class == support-annotations-22.2.1.jar:android/support/annotation/AnyRes.class]))
:app:transformClassesAndResourcesWithProguardForRelease FAILED
是因为在 build.gradle 中,某个模块被添加了两次。你找到上述报错细节,可以看到是哪个模块被添加了两次。
比如这里是 support-annotations-22.2.1.jar 这个包。
参看:
设备一直提示”Waiting For Debugger”
在非调试模式下,也会出现这个提示,解决方法就是重启设备。
参看: