Android App开发中无数据线,查看log日志输出

如果我们在一些和硬件打交道的公司,我们需要开发一些App,难免会用手机连接usb来调试信息.
这个时候我们手机插上usb硬件的时候,我们想实时查看我们AS实时Log日志是不可能的.因为我们没有连接数据线,ASLog日志检测不到的.
这时候我们就需要用到以下的一个工具,“USR-TCP232”,这个串口/网络调试助手,自行去百度搜索下载.
http://www.smzy.com/smzy/down118428.html
这个链接是我在网上找的,应该可以下载下来,因为我电脑上有这个工具,我没下载.这个不可以的话,自行找一个可以打开的.
界面大概是这样的
在这里插入图片描述
操作步骤

PC端

1.更改udp方式

在这里插入图片描述
我们选择udp,选择完成之后,自动会选择你当前的ip地址.如果没有自动设置,请自行去查看本地ip地址

2.设置端口号

设置端口号尽量写一个独特的,不可思议的不要超过65535.不要和设备上别的端口有冲突.这样会出现意想不到的错误.

3.开启连接

图中的(1),(2),(3)设置完毕之后点击Connect,然后这个工具就告辞一段落了.我没让你关掉…后台挂着

Android端

这里就不同了,因为我们连接的方式是用udp方式连接,所以我们要在APP里写一段udp连接方式,
我直接贴我代码了.可以用的,我在开发中用的就是这.

import java.io.IOException
import java.net.DatagramPacket
import java.net.DatagramSocket
import java.net.InetAddress
import kotlin.concurrent.thread

import java.io.IOException
import java.net.DatagramPacket
import java.net.DatagramSocket
import java.net.InetAddress
import kotlin.concurrent.thread

/**
 * Created by Android Studio.
 * User: GGY
 * Date: 2020/3/24
 *  此类使用手机连接设备无法在AS上查看日志,通过udp把日志发送pc端查看日志.
 *  使用:打开udp工具类,切换udp连接,随便写一个端口号(最好独特一些,不要和别的应用有冲突,比如,11111,22222,不要超过65535)
 *  然后打开连接,udp工具完事.,
 *  本类里需要改动在udp工具里写的那个端口号监听
 */
class UdpUtils private constructor() {
    companion object {
        val instance by lazy { UdpUtils() }
    }

    lateinit var datagramSocket: DatagramSocket
    fun init() {
        datagramSocket = DatagramSocket()
    }

    fun log(data: String) {
        thread {
            try {
                val serverAddress = InetAddress.getByName("192.168.3.171")
                val toUByteArray = CodeUtil.haha(data)
                //  这个端口号要写udp工具里写的
                val packet = DatagramPacket(toUByteArray, toUByteArray.size, serverAddress, 30000)
                datagramSocket.send(packet)
            } catch (e: IOException) {
            }
        }
    }
}
// CodeUtil.haha
public static byte[] haha(String data) {
        byte[] a = new byte[0];
        try {
            a = data.getBytes("utf-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        return a;
    }

测试图:
在这里插入图片描述

注意:pc端和手机端务必在一个网络下,否则会获取不到log的

发布了16 篇原创文章 · 获赞 5 · 访问量 6548

猜你喜欢

转载自blog.csdn.net/ggy_yao/article/details/105112586