我已经安装了 Ubuntu-SDK,并将装有 Ubuntu 的 Nexus 4 添加为设备。设备显示为在线,我可以通过单击“文件”->“新文件或项目”来运行创建的“Hello world”应用程序。但我无法通过在 IDE 中打开它并单击“运行”按钮来运行核心应用程序。我收到以下消息:
Sdk-Launcher> Error: This application is already installed on the device,
uninstall it or temporarily change the name in the manifest.json file!
当然,我通过长按图标并卸载来删除预装的 Dropping Letters。我还尝试在 Ubuntu 模拟器中运行该应用程序,尽管模拟器上根本没有预装 Dropping Letters,但我还是收到相同的错误消息。有人知道如何让它工作吗?
注意:我也尝试更改 中的名称manifest.json
。此后,应用程序启动,但主 QML 文件未加载。
答案1
与 Ubuntu touch 团队讨论后,我发布了修复程序。事实证明,Ubuntu SDK 在 Ubuntu 14.04 上已过时,必须按如下方式更新:
sudo add-apt-repository ppa:ubuntu-sdk-team/tools-development
sudo apt-get update
sudo apt-get upgrade
然后,以超级用户身份编辑 /usr/share/qtcreator/ubuntu/scripts/qtc_device_applaunch.py 并删除以下行:
else:
print("Sdk-Launcher> Uninstalling already installed package (--force-install)")
success = subprocess.call(["pkcon","remove",package_name+";"+package_version+";"+package_arch+";local:click","-p"],stdout=subprocess.DEVNULL)
if success != 0:
print("Sdk-Launcher> Uninstalling the application failed",flush=True)
sys.exit(1)
之后我需要将dropping-letters.desktop中的‘Exec’行改为:
Exec=qmlscene dropping-letters.qml
很简单,不是吗?:-P