ubuntu qt5 android,ubuntu qt5安装,遇到的问题及解决办法

总结:如今全部的问题都解决了,能够愉快地写widget,qml,也能够写入android平板和手机。安装的时候从官网下载对应系统的版本,而后安装。安装时选择最新的版本下全部的内容。由于直接命令行安装了,最后发现仍是缺android套件,因此我最后又装了一遍。html

若是安装好后出现问题能够参考下面的解决办法。java

个人安装的过程是很曲折的。android

ubuntu版本:18.04.1 LTSshell

查看ubuntu版本号:lsb_release -aubuntu

查看系统信息:uname -avim

sudo apt-get updatebash

sudo apt-get upgradejvm

sudo apt-get install qt5-default qtcreatoride

完了发现qt widget没问题,找不到qml模块,报错:Unknown module(s) in QT: qml quickui

sudo apt-get install qtdeclarative5-dev

发现 netstat -antp报错:

Command 'netstat' not found, but can be installed with (下面这个)

sudo apt install net-tools(

在装另外一台ubuntu时遇到其它问题,ubuntu版本18.10

sdk和ndk装好之后,环境变量也设置好了,依然有如下问题:

f605a4eef787a6bf7448a2477899c8bd.png

SDK和NDK在我装好androidstudio后把sdk和ndk的地址换成了androidstudio中sdk和sdk文件夹下面的ndk-bundle地址,问题解决。(我真的看到解决了,可是后面仍是又出现了Platform SDK installed前面的红叉)

从新装了jdk,参考如下文章:

而后source profile

再进到qt,把jdk路径改为新装的jdk路径,jdk就搞定了。

变成这样了:

4c52b1cf4351a95828b85def4720c78e.png

我同时装好的androidstudio早就可以正常运行了,但qt里报错是平台SDK没装好,要是没装好,为何androidstudio就能正常运行呢?我以为这个报错自己是个bug,是qt自身的问题。

这个问题已经困扰一天了,没办法,我只能打开androidstudio,多下点SDK platform,看看效果。

实践证实,多下SDK一点帮助都没有,如今我把7,8,9都所有下了仍是有问题,最后把jdk重装了8就行了。

514cefe829645db3dfa884eac014dc32.png

重装步骤:

apt-cache search openjdk  //先看看哪些版本能装,

sudo apt-get install openjdk-8-jdk  //而后装这个版本

sudo update-alternatives --config java  //看看哪些已安装版本能够替换

//选择openjdk-8这个

Selection    Path                                            Priority   Status

------------------------------------------------------------

* 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      auto mode

1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      manual mode

2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode

Press to keep the current choice[*], or type selection number: 2

//切换完了看看版本对不对

java -version

/etc$ ls  //到etc目录下

sudo vim profile

//进到profile里

# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))

# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).

if [ "${PS1-}" ]; then

if [ "${BASH-}" ] && [ "$BASH" != "/bin/sh" ]; then

# The file bash.bashrc already sets the default PS1.

# PS1='\h:\w\$ '

if [ -f /etc/bash.bashrc ]; then

. /etc/bash.bashrc

fi

else

if [ "`id -u`" -eq 0 ]; then

PS1='# '

else

PS1='$ '

fi

fi

fi

if [ -d /etc/profile.d ]; then

for i in /etc/profile.d/*.sh; do

if [ -r $i ]; then

. $i

fi

done

unset i

fi

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

export CLASSPATH=${JAVA_HOME}/bin:${JAVA_HOME}/lib

export PATH=$PATH:${CLASSPATH}

export ANDROID_HOME=/home/×××/Android/Sdk

export PATH=$PATH:${ANDROID_HOME}/tools:${ANROID_HOME}/platform-tools:${ANDROID_HOME}/platforms:${ANDROID_HOME}

export NDK=/home/Android/Sdk/ndk-bundle

//按i,进入编辑模式,在末尾输入一段环境变量,如上。按Esc,而后输入:wq保存退出。

//最后更新一下环境变量

source profile

××××××××××××××××××××××××××××××××××××××××××××分割线×××××××××××××××××××××××××××××××××××××××××××××××××

*下一个问题:写helloworld可以运行了,both widget 和qml。但今天考过来之前写的一个qml程序,不能正常运行,报错以下:

55bf4fd2bae8c6814ce3eea4964f6358.png

看上去像qrc中的qml有问题,打开qml文件:

bb90caf592aecaed372a2f8982fb8154.png

发现错误在这里。

把这个注释掉,发如今另外的位置依然报错:

qrc:/main.qml:3 module "QtQuick.Controls" version 2.3 is not installed

应该是有的模块尚未装好。

而后ctrl+alt+t呼出命令行界面,输入

sudo apt-get install qtquick.controls

(此处缺什么补什么,感叹一下ubuntu仍是挺智能的,这个都能单独安装)

装好了之后就能正常运行了。

××××××××××××××××××××××××××××××××××××××分割线××××××××××××××××××××××××××××××××××××××××××××××××

完了,发现还有个问题:

f1e22c7d4fa56c05fda2e849aa64abd6.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值