作者归档:xinlu

安卓模拟器–跨主机连接


测试验证,当前最好用的是【雷电模拟器9】,支持ADB的调试,其它的如网易腾迅等其它均只支持安装应用,但不支持ADB的单步调试。

——————————–

第一步安装bluestacks模拟器。下载地址:https://www.bluestacks.com/或https://www.bluestacks.cn/下载最新版 bluestacts5不要下载bluestactsX,因为bluestactsX更偏重游戏化模式,界面太。

第二步:开启adb远程调试,因为它是监听localhost地址的,故需要利用windows的portproxy机制建立转发通道。

netsh interface portproxy add v4tov4 listenport=5556 listenaddress=0.0.0.0 connectport=5555 connectaddress=127.0.0.1

netsh interface portproxy show all

netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=8973
netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=8972

Ubuntu22.04解决ch34x串口驱动问题。

apt remove brltty
chmod a+rw /dev/ttyUSB*

——执行上述两条语句后,仍不能解决串口问题,才阅读以下代码。——–

本人的串口,并没有重装驱动,也是可以正常工作的。网上有一些其它教程是需要重新安装驱动,可参考:

https://blog.csdn.net/zym787/article/details/128854952


一、查看串口是否被识别
输入指令:lsusb,如下截图所示,它是能正常识别硬件的:

二、检查串口是否被驱动加载,输入指令ls /dev/ttyUSB*将会列出USB的加载情况。如果提示No such file or directory则是没有被驱动加载。

三、安装minicom串口工具。apt install minicom

四、配置minicom的串口。指令:minicom -s

五、选 择Serial port setup,并修改串口为ttyUSB0

六、最后保存为Save setup as dfl

七、测试,执行minicom -c on

八、因报文件不存在错误,采用dmesg|grep tty命令检查发现,被brltty进程占用。

九、brltty是用于盲人服务的程序,我们是不需要它的,故直接删除它并重新插拔串口设备:apt remove brltty。

十、再次测试验证

十一、下载WoTerm终端工具,打开本地串口找到,确认能通迅。

如果提示没有权限,则chmod a+rw /dev/ttyUSB0即可

十二、如果提示没有权限,则赋预读写权限:chmod a+rw /dev/ttyUSB*

Ubuntu22.04的五笔安装

第一步:安装fcitx5

apt install fcitx5 fcitx5-chinese-addons

第二步:在设置中依次选择地区&语言 -> 管理安装的语言 -> 键盘输入法系统,选择fcitx5

第三步:重启系统,在重进系统后。

CMAKE增加Debug的后缀

set_target_properties(ptyqt-agent PROPERTIES DEBUG_POSTFIX "d")
set_target_properties(ptyqt PROPERTIES DEBUG_POSTFIX "d")
而 set(CMAKE_DEBUG_POSTFIX "d") 仅对add_library这类会增加后缀,而add_executable这种是不行的。

如何设置修改Qt配置,使其支持指定的WindowSDK。

在开发过程中需要实现ConPTY的支持,故不得不指定WindowsSDK进行编译。

ConPTY的支持是从Window10的1809系统版本开始,据网友实测,从Windows 10 SDK version 1903 (10.0.18362.1)版本才支持ConPTY,其下载地址:https://software-static.download.prss.microsoft.com/pr/download/18362.1.190318-1202.19h1_release_WindowsSDK.iso
在小于1903的SDK版本中编译ConPTY代码,是可以编译通过的,但实际上是无法启用ConPTY的。

以下方法不是最佳方法,且也只能解决pro工程问题,而cmake类的编译,貌似无法解决。

QtCreator是不支持设置WindowSDK版本的,那该如何修改使其支持呢?以VS2015为例如下所示:

我们打开vcvarsall.bat的批处理文件,因为Qt已经初始化了目标平台的指令如x86,故我们修改的位置如下:

if "%1" == "" goto x86

rem 屏蔽goto指令
rem if "%2" == "" goto check_platform  

rem 增加以下call指令
if "%2" == "" (
    echo "In order to specify the SDK version for compilation, the following instructions will be rewritten."
    echo "If an error is reported, please check whether your SDK version number is correct."
    echo "The new command as bellow:"
    echo "%~0 %1 10.0.18362.0"
    call "%~0" %1 10.0.18362.0
    goto :eof
)
setlocal
set _Argument2=%2
if not "%2"=="store" if not "%2"=="8.1" if not "%_Argument2:~0,3%"=="10."  goto usage
endlocal

若命令行编译呢?则可如下所示:

@echo off
if "%QT_TOOLCHAIN%" == "" (    
    echo "failed to find the environment variable:QT_TOOLCHAIN"
    echo "add varianble to environment like: QT_TOOCHAIN=C:\Qt\Qt5.12.12\5.12.12\msvc2017"   
    pause 
    exit
)

echo %QT_TOOLCHAIN%|find "msvc2015" >nul
if %errorlevel% neq 0 (
    call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x86 10.0.18362.0
) else (
    call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86 10.0.18362.0
)
call "%QT_TOOLCHAIN%\bin\qtenv2.bat"

当前最新版本:Windows 10 SDK version 2104 (10.0.20348.0)也仍是支持WINDOW 7

QT中文乱码问题汇集

QT编译时提示以下信息:

其核心原因呢,是因为编码问题,Qt Creator保存的文件使用的是UTF-8编码(是任何平台、任何语言都可以使用的跨平台的字符集),MSVC编译器虽然可以正常编译带BOM的UTF-8编码的源文件,但是生成的可执行文件的编码是 Windows 本地字符集,比如 GBK2312。

也就是在可执行文件中,字符串“测试”是以GBK2312编码的,而可执行程序执行到这条语句时,对这个字符串却是以UTF-8解码的,这样就会出现乱码。

解决办法如下:
第一步:确保编辑器是以UTF8形式编码保存。

第二步:在pro文件或CMakeFiles中添加编译选项,确保编译器编译的目标结果仍是utf8编码模式。

在pro文件中添加
win32:msvc{
QMAKE_CXXFLAGS += /source-charset:utf-8 /execution-charset:utf-8
}
在cmake中添加
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /utf-8")

SE5盒子的可用的软件源

更换中国科学技术大学的软件源

deb http://mirrors.ustc.edu.cn/debian stable main contrib non-free
# deb-src http://mirrors.ustc.edu.cn/debian stable main contrib non-free
deb http://mirrors.ustc.edu.cn/debian stable-updates main contrib non-free
# deb-src http://mirrors.ustc.edu.cn/debian stable-updates main contrib non-free
deb http://mirrors.ustc.edu.cn/debian stable-proposed-updates main contrib non-free
# deb-src http://mirrors.ustc.edu.cn/debian stable-proposed-updates main contrib non-free
deb http://mirrors.ustc.edu.cn/debian-security/ stable-security main non-free contrib
# deb-src http://mirrors.ustc.edu.cn/debian-security/ stable-security main non-free contrib

frpc的服务配置

/lib/systemd/system/frpc.service

# /lib/systemd/system/frpc.service
[Unit]
Description=Frp Client Service
After=network.target

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/opt/frp/frpc -c /data/config/frpc.ini
ExecReload=/opt/frp/frpc reload -c /data/config/frpc.ini

[Install]
WantedBy=multi-user.target
#cat /data/config/frpc.ini
[common]
server_addr = xxx.xxx.xxx.xxx
server_port = 7000

[ssh19]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 1922

[19886]
type = tcp
local_ip = 127.0.0.1
local_port = 8886
remote_port = 19886