ubuntu14.04中搭建qt for android环境

来源:互联网 发布:淘宝详情模板下载 编辑:程序博客网 时间:2024/05/16 15:27

ubuntu14.04搭建qt for android环境

环境:64位ubuntu14.04

本人在使用32位ubuntu时,更新完sdk时下载的adb仍然是64位的,因此adb不能用,qt便无法找到android设备。不知道是什么原因,试了好多方法都没有成功,后来干脆就把系统换成了64位的。

1.下载如下工具包

1.The android sdk tools
2.The android ndk
3.Apache Ant v1.8 or later
4.Java SE Development Kit (JDK) v6 or later. You can also use OpenJDK on Linux.
注:ubuntu环境中不需要额外安装adb(android debug bridge)驱动。

工具包下载解压后,首先需要添加环境变量:将jdk/bin/目录和sdk/tools目录添加到PATH环境变量中,本人比较习惯将环境变量添加到/etc/profile中,命令如下:

sudo vi /etc/profile

在profile文件末尾添加如下语句(注:需要把目录改成自己的安装目录):

export PATH=/home/liuyx/Qt_android/jdk1.7.0_79/bin:/home/liuyx/Qt_android/android-sdk-linux/tools:/home/liuyx/Qt_android/android-sdk-linux/platform-tools:$PATH

注:其中android-sdk-linux中platform-tools目录是更新完sdk之后,生成的。里面放有android开发常用工具如adb。
使用file adb 可以查看adb的文件类型:
adb: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=90addc5e3980f6efab749c9032cc8d7ad60dfb94, not stripped
如上所示,adb时64位文件,若在32位系统中运行,即会出现格式错误的错误。

2.更新android sdk(需要翻墙)

执行如下命令:

android update sdk

执行完此命令后,需要设置一下http代理,否则速度非常慢,还会出现如下类似错误:
Failed to fetch URL https://dl.google.com/android/repository/addons_list-2.xml,
reason:Connection to https://dl.google.com refused

将android sdk manager全屏,鼠标放在左上角,就会看出packages和tools菜单,选择tools->options
设置http代理如下:
HTTP Proxy Server: mirrors.neusoft.edu.cn
HTTP Proxy Port:80
勾上Force https://…sources to be fetched using http://…
之后关闭对话框。

选择packages->reload。

注:ubuntu版本的android sdk manager对话框和windows不太一致。从下图也可以看出,windows中的Packages 和Tools菜单时在对话框中的,而ubuntu需要将鼠标放在屏幕左上角才会出现Packages和Tools菜单栏。之前,我就出现了这样的问题,一直找不到Packages和Tools菜单………………..甚是无语啊………

在对话框中选择需要安装或者更新的文件,我的选择如下,更新文件较少,以后需要时可以再更新,第一幅图是打开时默认选择的,第二副图代表我刚开始选择更新的文件。如果条件允许,可以将所有的都选择。
这里写图片描述

这里写图片描述

更新完之后在android-sdk-linux目录下就会看到platform-tools目录,之后按照如上方式把此目录添加到PATH变量中。

3.安装Qt for android

下载64位Qt for android 的qt,安装之后打开qt,设置开发环境:
工具->选项->android设置如下
这里写图片描述
到此,qt环境便设置成功。但,此时用usb连接手机,设置手机开发人员选项 usb调试运行程序时,可能还会出现找不到设备的错误。

4.连接手机与Qt

此时运行adb devices会出现如下错误:
List of devices attached
QMSDU15C14012513 no permissions
后者
List of devices attached
QMSDU15C14012513 unauthorized

在插上手机,打开usb调试在shell终端输入如下命令,即可查看手机usb信息

lsusb

信息较多,可以在插上usb之前执行lsusb,插上之后再执行lsusb命令,多出的一项既为我们需要的信息。我的华为荣耀畅玩5x信息如下:
Bus 003 Device 002: ID 12d1:1073 Huawei Technologies Co., Ltd.
其中12d1即表示厂商ID。

新建如下文件,添加如下内容:

sudo vi /etc/udev/rules.d/51-android.rules

SUBSYSTEM==”usb”, ATTR{idVendor}==”12d1”, MODE=”0666”, GROUP=”plugdev”

注:ATTR{idVendor}==”12d1”中的12d1即为上述厂商ID

之后执行如下命令,把设备的“USB调试”关掉,拔掉usb线,再插上,打开usb调试,再执行 adb devices。

sudo service udev restartadb kill-serveradb start-server

若为华为手机,需要额外设置,我的手机最开始时adb devices出现的是如下问题
List of devices attached
QMSDU15C14012513 unauthorized
此时表示手机没有认证,需要从手机工程菜单设置USB端口。

打开手机拨号键盘界面,输入 ##2846579## ,进入工程菜单,选择 后台设置->USB端口设置, 选择Google模式,之后重启手机。

重启之后,再执行adb devices就会出现如下错误
List of devices attached
QMSDU15C14012513 no permissions
此时,再按照lsusb上面设置即可。

此时再执行adb deveices即可出现如下信息:
List of devices attached
QMSDU15C14012513 device

到此,配置结束!!!!!!

打开Qt,选择android构建套件, Hello World运行成功,大功告成!!!!!!!!!!!!!!!!!!!

1 0
原创粉丝点击