我有一个 qml 文件,我只想通过 ssh 连接到手机并执行
qmlscene myfile.qml
不用 SDK 和软件包做那么多事可以吗?只需 vim 和一些可以记在脑子里的简单命令。
答案1
如果你的手机上已经有了 qml 文件,那么这很简单。你只需要使用qmlscene
一个额外的参数进行调用即可。
使用 从您的台式机/笔记本电脑开始连接
phablet-shell
。运行,
qmlscene
例如--desktop_file_hint
:$ qmlscene --desktop_file_hint=/usr/share/applications/dialer-app.desktop $HOME/Documents/myfile.qml
答案2
在 OTA 10.1 (Ubuntu 15.04),BQ E5 上,使用 ssh 连接并不那么简单phablet-shell
,我不得不发出这单行命令行即可运行:
APP_ID=com.ubuntu.clock_clock_3.7.456 \
QML2_IMPORT_PATH=/usr/share/click/preinstalled/com.ubuntu.clock/3.7.456/lib/arm-linux-gnueabihf \
QML_IMPORT_TRACE=1 \
/usr/bin/qmlscene \
--desktop_file_hint=/usr/share/click/preinstalled/com.ubuntu.clock/3.7.456/share/applications/ubuntu-clock-app.desktop \
/usr/share/click/preinstalled/com.ubuntu.clock/3.7.456/share/qml/ubuntu-clock-app.qml
请注意,当您像这样运行应用程序时,它的所有输出都会转储到调用终端,而 中没有任何内容~/.cache/upstart/application-click-com.ubuntu.clock_clock_3.7.456.log
。当手机处于睡眠状态时也应启动,它会阻塞终端,Ctrl-C 将终止它(及其在设备上的窗口)。QML2_IMPORT_PATH
解决了以下问题:
file:///usr/share/click/preinstalled/com.ubuntu.clock/3.7.456/share/qml/ubuntu-clock-app.qml:22 module "Alarm" is not installed
file:///usr/share/click/preinstalled/com.ubuntu.clock/3.7.456/share/qml/ubuntu-clock-app.qml:20 module "WorldClock" is not installed
... 看错误 #1338979“无效的 qmlscene 调用 -- 无效选项 --‘I’”:错误:notes-app
请注意,如果没有--desktop_file_hint
,您将得到:
Loading module: 'libubuntu_application_api_touch_mirclient.so.3.0.0'
UbuntuClientIntegration: connection to Mir server failed. Check that a Mir server is
running, and the correct socket is being used and is accessible. The shell may have
rejected the incoming connection, so check its log file
Aborted