电脑开发 luajava 应用
# 安卓投屏+蓝牙键盘方案
项目地址 https://github.com/Genymobile/scrcpy
这是最好的解决方案,我们用到 scrcpy 进行无线或有线投屏,可以正常点击交互和使用键盘,就像在使用电脑版本的IDE!
scrcpy 下载
archlinux 请使用 sudo pacman -S scrcpy android-tools
安装相关应用。
windows 请点击 这里 (opens new window) 下载 scrcpy,或者 这里 (opens new window)
scrcpy 支持无线有线两种运行方式。 下载并解压 scrcpy,手机端开启 开发者选项 及 USB 调试。开发者选项默认情况下处于隐藏状态,然后点按版本号七次,返回上一屏幕,在底部可以找到开发者选项。
用数据线将手机和电脑连接起来,此时手机上弹出授权提示,点击 允许 USB 调试,双击解压得到的 scrcpy.exe 文件,就能进行有线投屏了。
如果你需要使用无线投屏,请确保电脑与手机处于同一局域网。 打开电脑进入 .\scrcpy 文件夹打开 Cmd 命令行。
有线投屏的前几步同样适用于无线投屏,完成后打开 PowerShell (~ cmd),依次操作并输入代码。
# a.将代码目录定位到 scrcpy 文件夹。
cd D:\Libraries\Desktop\scrcpy-win64-v1.24
# WIN11 在 scrcpy 文件夹中右键「在终端中打开」,将自动定位。
# b.在手机端开启「开发者选项」及「USB 调试」,然后使用数据线将手机和电脑连接并允许 USB 调试,开启手机端口
# 如果本行显示 no device 或未启动 adb,需检查「USB 调试」是否开启,或更换数据线。
# 此外,一些手机需选择「文件传输」模式方能使用 adb。
.\adb tcpip 5555
# c.拔出手机数据线,开始无线投屏。(192.168.2.15 为手机端的 WIFI 局域网 ip,需更改)
.\adb connect 192.168.2.15:5555
# d.启动 scrcpy.exe
.\scrcpy
# 如有报错或延迟较大,可启动低分辨率投屏
.\scrcpy -m 1024
# 连接多个设备,报错提示`failed to get feature set: more than one device/emulator`,则指定连接 tcpip 设备
.\scrcpy -e -m 1024
# 简化操作:合并步骤 c 和 d,保持屏幕常亮,使用 1024 分辨率
.\scrcpy --tcpip=192.168.2.15 -w -m 1024
接下来只需要确保两件事:
- 开启 Usb 调试
- 驱动正常,线材优质
adb工具请点 https://dl.google.com/android/repository/platform-tools-latest-windows.zip
甚至你可以自己将手机和蓝牙键盘链接
按下 shift+键 可以输入大写
快捷键
描述 | 快捷键 |
---|---|
切换全屏模式 | Ctrl+f |
显示左旋转 | Ctrl+← |
显示右旋转 | Ctrl+→ |
显示最佳窗口 | Ctrl+g |
显示窗口移除黑边 | Ctrl+x 或在黑边上双击 |
返回到HOME | Ctrl+h 或点击鼠标中键 |
返回 | Ctrl+b 或鼠标右键 |
多任务 | Ctrl+s |
点击菜单 | Ctrl+m |
音量调大 | Ctrl+↑ |
音量调低 | Ctrl+↓ |
按手机电源 | Ctrl+p |
亮屏 | 鼠标右键 |
关闭设备屏幕(保持镜像) | Ctrl+o |
打开设备屏幕 | Ctrl+Shift+o |
旋转设备屏幕 | Ctrl+r |
下拉通知栏 | Ctrl+n |
收回通知栏 | Ctrl+Shift+n |
将设备剪贴板复制到计算机 | Ctrl+o |
将计算机剪贴板粘贴到设备 | Ctrl+c |
将计算机剪贴板复制到设备并粘贴 | Ctrl+Shift+v |
显示/不显示FPS计数 | Ctrl+i |
Scrcpy 的命令参数
描述 | 命令 |
---|---|
关闭手机屏幕 | scrcpy -S |
限制画面分辨率 | scrcpy -m 1024 (比如限制为 1024) |
修改视频码率 | scrcpy -b 4M (默认 8Mbps,改成 4Mbps) |
裁剪画面 | scrcpy -c 1224:1440:0:0 表示分辨率 1224x1440 并且偏移坐标为 (0,0) |
多设备切换 | scrcpy -s 设备ID (使用 adb devices 命令查看设备ID) |
窗口置顶 | scrcpy -T |
显示触摸点击 | scrcpy -t 在演示或录制教程时,可在画面上对应显示出点击动作 |
全屏显示 | scrcpy -f |
文件传输默认路径 | scrcpy --push-target /你的/目录 将文件拖放到 scrcpy 可以传输文件,此命令指定默认保存目录 |
只读模式(仅显示不控制) | scrcpy -n |
屏幕录像 | scrcpy -r 视频文件名.mp4 或 .mkv |
屏幕录像 (禁用电脑显示) | scrcpy -Nr 文件名.mkv |
设置窗口标题 | scrcpy --window-title 'lua,rua!' |
同步传输声音 | 可借助 USBaudio 这个开源项目实现,仅支持 Linux 系统 |
# 直接爽装:VScode APP
我们使用手机部署 Code-server 来实现线上开发。
下载地址在这里,作者包装了一个较小的 termux 容器来装载它。 https://www.coolapk.com/apk/com.nightmare.code
因为我们需要局域网其他设备访问,需要在配置文件中自行修改IP设置
打开 ~/.config/code-server/config.yaml --host 0.0.0.0 默认是127.0.0.1,只能本地访问,改成0.0.0.0即可.
# 自己动手:Termux搭建code-server
Termux 是一个 Android 下一个高级的终端模拟器,开源且不需要 root,支持 apt 管理软件包,十分方便安装软件包,完美支持 Python、 PHP、 Ruby、 Nodejs、 MySQL等。
- 拥有一个随身Vscode(python环境)
- 多机协同体验,映射或反代后可以远程编写
首先,从 f-droid (opens new window) 下载 Termux 终端模拟器,准备了 直链 (opens new window)
安装完毕,输入termux-setup-storage
,开启 termux 对Sd卡存储的访问权限。
我们使用 Tmoe 来快捷安装 proot 容器并启用 code-server,项目地址为 HERE (opens new window)
接下来的教程可以对比参考 这里 (opens new window) 和 项目文档 (opens new window)
使用此项目只需要执行一行代码:
bash -c "$(curl -fsSL(https://gitee.com/mo2/linux/raw/2/2))"
耐心等待安装完毕,请勿熄屏!(需要授权)
等待选择,可以创建新用户作为ROOT。(推荐)
这个用户以后使用 su
命令来登陆。运行proot容器我使用KDE,比较像WIN.容易操作。
一定要看清楚说明信息,安装完毕请完全重新启动APP。
输入 debian
启动最近的容器,终端输入 neofetch
查看系统信息。
输入 novnc
开启局域网VNC链接,(请确认您安装novnc,tmoe已经为您预装)。
确保你的手机和你的笔记本在同一网络下或内网穿透,然后在浏览器打开局域网地址(终端输出信息),然后链接。
PS:命令执行都可以使用Ctrl +键盘敲击 C 来中断操作
# Code-Server(VScode服务端)安装
参考官方安装教程 https://github.com/coder/code-server/blob/main/docs/termux.md#installation
由于我们到VSCODE的链接不是很稳定,在线安装请使用隧道网络!
- 安装NVM(可选)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
# 问题处理
由于termux环境特殊,有些操作会报错:版本不兼容。
这里实测:最新的4.0.X 对termux有不兼容问题。
详见issuses https://github.com/coder/code-server/issues/4804 ,所以我们回退版本[5^]。
请使用以下命令安装Code-server!
- 安装CODE-SERVER
测试环境
curl -fsSL https://code-server.dev/install.sh | sh -s -- --dry-run
安装
curl -fsSL https://code-server.dev/install.sh | sh -s -- --version=3.12.0
PS:Termux 不支持启动服务,请使用 code-server
启动服务。
后台运行 nohup code-server &
更多用法参考:https://wsgzao.github.io/post/nohup/
注意 sudo systemctl enable --now code-server@$USER
这段报错。
System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to
原因是Termux不支持,所以会话挂后台就可以....
安装完毕配置设置
可以链接vnc(推荐),打开文件管理器的(显示隐藏文件选项)
打开 ~/.config/code-server/config.yaml
也可以使用vim
vim ~/.config/code-server/config.yaml
- --port 9999指定端口运行,可以修改为80端口,这样就访问的时候就不需要输入端口号
- --host 0.0.0.0 默认是127.0.0.1,只能本地访问,无法外网访问,所以得改成0.0.0.0,才能各个浏览器都能访问
# SFTP + Adb 同步文件开发
自行搜索
# 模拟器上机:搭载开发工具
具体看这位的博客 https://bk.yyge.net/?post=128
或者自己下载模拟器安装开发工具即可.....
# Android studio + 安卓模拟器:配置 AIDElua 开发
Android Studio是一个为Android平台开发程序的集成开发环境,我们可以用 Aidelua 修改配置文件使用 luajava!
所需工具如下 安卓模拟器 Android Studio 安装 SDK
Androlua 环境支持示例如下 https://github.com/znzsofficial/AndroLua_Project_Template 但是跑不起来,还需要配置项目根文件
PS:luaApp工程请直接点击手机上按钮运行。方案二安装后自带python,python终端输出还是正常的!文件保存的冲突自己解决一下
附 服务器端反向代理请看(termux不用看)
- https://segmentfault.com/a/1190000022267386
- https://blog.csdn.net/day_to_die/article/details/105990565
- https://cloud.tencent.com/developer/article/1902378
1^Termux 高级终端安装使用配置教程 https://www.sqlsec.com/2018/05/termux.html#toc-heading-1 (opens new window)
2^Tmoe-linux:在Android 和Windows10上一键安装 GNU/Linux容器 https://haohe.fun/2021/04/tmoe-linux:在android-和windows10上一键安装-gnu-linux容器/ (opens new window)
3^天萌参考手册 https://doc.tmoe.me/zh/prologue.html (opens new window)
4^CODESERVER官方安装教程 https://github.com/coder/code-server/blob/main/docs/termux.md#installation (opens new window)
5^云开发工具 code-server 安装手册 https://zhuanlan.zhihu.com/p/375220401 (opens new window)
6^scrcpy - 手机无线投屏到电脑 https://zhuanlan.zhihu.com/p/80264357 (opens new window)