Qt for Android 配置详细 (转载CSDN)

37 篇文章 0 订阅
7 篇文章 0 订阅

Qt for Android 配置( Unbutu 11.04 )

  一.环境搭建

  1. Java 下载安装 

  -> jdk-6u25-linux-i586.bin

  url: http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html

  -> 1 、 jdk-1_5_0_06-linux-i586.bin 下载到 /usr/soft, 赋予可执行权限: chmod 755 jdk-1_5_0_06-linux-i586.bin

  2 、执行: ./jdk-6u25-linux-i586.bin 空格键翻页,到最后输入 yes

  3 、配置环境变量:在 /etc/profile 中加入:

  export PATH=/usr/soft/jdk*.*/bin:$PATH

  export JAVA_HOME=/usr/soft/jdk*.*.*

  4 、运行: source /etc/profile 使配置文件生效

  5 、运行: java -version, 显示 jdk 版本, jdk 安装成功

  -> linux 操作系统可能默认会安装有 openjdk

  需要将自己安装的 Java 设置为默认的:

  sudo update-alternatives –install /usr/bin/java java /usr/local/jdk1.6.0_26/bin/java 1160

  

  2. git GIT 是用于 Linux 开发的版本控制工具

  -> unbutu 11.04 安装:

  sudo apt-get install git git-core

  3. Android SDK

  -> http://developer.Android.com/sdk/index.html

  -> 解压下载的 SDK 文件 到 <Android_SDK_Path>

  例如: /usr/local/bin/Android-sdk-linux_x86-1.5_r2

  -> 修改 /etc/profile 文件

  -> export PATH=${PATH} : <Android_SDK_Path>/tools

  例如: export PATH=${PATH} : <SDK_Path>/

  Android-sdk-linux_x86-1.5_r2/tools

  -> save

  -> restart

  -> 输入: sudo Android

  -> 通过弹出界面配置 SDK (此时的 SDK 并未安装完成,需要通过网络完成全部安装)。

  -> 在 Settings 处勾选 force https://……

  -> 在 Available Packages 处 勾选要安装的包

  -> Install Selectted 进行安装

  -> Android avd 配置信息的生成

  -> Android avd 的创建格式为 :Android create avd -n your-avd-name -t your-targets

  -> 其中 : -n 的参数为我们要创建的 avd 的名字 ;

  -t 的参数为 Available Android targets 的 id,

  我们可以使用命令: Android list 查寻其具体信息。

  -> $Android list

  Available Android targets:

  id: 1

  Name: Android 1.1

  Type: Platform

  API level: 2

  Skins: HVGA-P, HVGA (default), QVGA-P, HVGA-L, QVGA-L

  id: 2

  Name: Android 1.5

  Type: Platform

  API level: 3

  Skins: HVGA-P, HVGA (default), QVGA-P, HVGA-L, QVGA-L

  id: 3

  …………………

  -> 创建 avd: $Android create avd -n Android1.5 -t 2

  Android 1.5 is a basic Android platform.

  Do you wish to create a custom hardware profile [no]yes

  Device ram size: The amount of physical RAM on the device, in megabytes.

  hw.ramSize [96]:128

  Touch-screen support: Whether there is a touch screen or not on the device.

  hw.touchScreen [yes]:yes

  Track-ball support: Whether there is a trackball on the device.

  hw.trackBall [yes]:yes

  Keyboard support: Whether the device has a QWERTY keyboard.

  hw.keyboard [yes]:yes

  DPad support: Whether the device has DPad keys

  hw.dPad [yes]:yes

  GSM modem support: Whether there is a GSM modem in the device.

  hw.gsmModem [yes]:yes

  Camera support: Whether the device has a camera.

  hw.camera [no]:

  Camera support: Whether the device has a camera.

  hw.camera [no]:yes

  Maximum horizontal camera pixels

  hw.camera.maxHorizontalPixels [640]:854

  Maximum vertical camera pixels

  hw.camera.maxVerticalPixels [480]:480

  GPS support: Whether there is a GPS in the device.

  hw.gps [yes]:yes

  Battery support: Whether the device can run on a battery.

  hw.battery [yes]:yes

  Accelerometer: Whether there is an accelerometer in the device.

  hw.accelerometer [yes]:yes

  Audio recording support: Whether the device can record audio

  hw.audioInput [yes]:yes

  Audio playback support: Whether the device can play audio

  hw.audioOutput [yes]:yes

  SD Card support: Whether the device supports insertion/removal of virtual SD Cards.

  hw.sdCard [yes]:yes

  Cache partition support: Whether we use a /cache partition on the device.

  disk.cachePartition [yes]:yes

  Cache partition size

  disk.cachePartition.size [66MB]:100MB

  Created AVD ''Android-sdk-15'' based on Android 1.5

  -> 启动模拟器界面: $emulator @Android-sdk-15 -show-kernel

  -> 配置 eclipse, 使之支持 Android sdk (安装 ADT 插件):

  Eclipse , Help->Software Updates->Available Software( 根据提示进行相应操作 )

  4. Android NDK

  -> http://developer.Android.com/sdk/ndk/index.html

  -> 解压 NDK 包到指定目录

  -> 配置 PATH

  -> 修改 /etc/profile 文件

  -> NDKROOT=/usr/local/bin/Android-ndk-r5c ( 用户根据自己的实际安装配置 )

  PATH=$PATH:$NDKROOT

  -> save

  ->restart

  -> 测试环境变量:

  -> cd /usr/local/bin/Android-ndk-r5c/samples/hello-jni

  -> ndk-build

  -> 将看到系统会编译出 libhello-jni.so

  5. 安装 necessitas

  http://sourceforge.net/projects/necessitas/files/

  ( 包括 Qt 的库, Qt Creater for Android, 同时可以选择安装 NDK 和 SDK( 但是由于网速问题建议不要选择可以自己安装 )):

  -> 下载 necessitas-0.2-online-sdk-installer-linux

  -> 使用 chmod 添加可执行权限

  -> 安装过程需要网络环境

  6. Ministro

  需要在 Android 上安装 Ministro service

  url: http://sourceforge.net/projects/ministro.necessitas.p/files/

  7. 模拟器启动命令

  在命令行输入: emulator -help ,即可显示emulator 支持的所有命令。

  Android Emulator usage:

  emulator [options] [-qemu args]

  options:

  -sysdir <dir> 在目录<dir> 中搜索system.img

  -system <file> 读取system.img 文件<file>

  -datadir <dir> 写入用户数据到目录 <dir>

  -kernel <file> 使用指定内核kernel-qemu 文件

  -ramdisk <file> 指定ram 镜像文件ramdisk.img

  -image <file> obsolete, use -system <file> instead

  -init-data <file> initial data image (default <system>/userdata.img

  -initdata <file> same as '-init-data <file>'

  -data <file> data image

  (default <datadir>/userdata-qemu.i

  mg

  -partition-size <size> 分区大小MBs

  -cache <file> cache.img

  -no-cache 禁止缓存

  -nocache 禁止缓存

  -sdcard <file> sdcard.img

  -wipe-data reset the use data image (copy it from initda

  ta)

  -avd <name> 使用指定AVD 设备

  -skindir <dir> search skins in <dir> (default <system>/skins

  )

  -skin <name> select a given skin

  -no-skin don't use any emulator skin

  -noskin same as -no-skin

  -memory <size> 物理内存大小MBs

  -netspeed <speed> 最大网速

  -netdelay <delay> 网络延迟

  -netfast disable network shaping

  -trace <name> enable code profiling (F9 to start)

  -show-kernel 显示内核消息

  -shell 终端启用root shell

  -no-jni disable JNI checks in the Dalvik runtime

  -nojni same as -no-jni

  -logcat <tags> 查看日志

  -no-audio disable audio support

  -noaudio same as -no-audio

  -audio <backend> use specific audio backend

  -audio-in <backend> use specific audio input backend

  -audio-out <backend> use specific audio output backend

  -raw-keys disable Unicode keyboard reverse-mapping

  -radio <device> 无线猫

  -port <port> 连接控制台的TCP 端口.

  -ports <consoleport>,<adbport> TCP ports used for the console and adb bridge

  -onion <image> use overlay PNG image over screen

  -onion-alpha <%age> specify onion-skin translucency

  -onion-rotation 0|1|2|3 specify onion-skin rotation

  -scale <scale > 窗口缩放

  -dpi-device <dpi> specify device's resolution in dpi (default 1

  65)

  -http-proxy <proxy> HTTP/HTTPS 代理

  -timezone <timezone> 时区

  -dns-server <servers> DNS 服务器

  -cpu-delay <cpudelay> throttle CPU emulation

  -no-boot-anim disable animation for faster boot

  -no-window disable graphical window display

  -version 版本

  -report-console <socket> report console port to remote socket

  -gps <device> redirect NMEA GPS to character device

  -keyset <name> specify keyset file name

  -shell-serial <device> specific character device for root shell

  -old-system support old (pre 1.4) system images

  -tcpdump <file> 记录网络数据包

  -bootchart <timeout> enable bootcharting

  -prop <name>=<value> 设置系统属性

  -qemu args… pass arguments to qemu

  -qemu -h 显示qemu 帮助

  -verbose same as '-debug-init'

  -debug <tags> enable/disable debug messages

  -debug-<tag> enable specific debug messages

  -debug-no-<tag> disable specific debug messages

  -help 帮助

  -help-<option> print option-specific help

  -help-disk-images about disk images

  -help-keys supported key bindings

  -help-debug-tags debug tags for -debug <tags>

  -help-char-devices character <device> specification

  -help-environment environment variables

  -help-keyset-file key bindings configuration file

  -help-virtual-device virtual device management

  -help-sdk-images about disk images when using the SDK

  -help-build-images about disk images when building Android

  -help-all 帮助( 所有)

  在 3 的基础上:

  emulator –avd Android2.3.3 –partition-size 512 (即可启动模拟器)

  

  7. 常用 ADB 命令:

  命令行工具 ADB ( Andvoid Debug Bridge )是 Android 提供的一个通用的调试工具,借助这个工具,我们可以管理设备或手机模拟器的状态。还可以进行以下的操作:

  1 、快速更新设备或手机模拟器中的代码,如应用或 Android 系统升级;

  2 、在设备上运行 shell 命令;

  3 、管理设备或手机模拟器上的预定端口;

  4 、在设备或手机模拟器上复制或粘贴文件;

  5 、安装 .apk 文件到仿真器上。

  以下为一些常用的操作:

  1 、安装应用到模拟器:

  adb install

  比较郁闷的是, Android 并没有提供一个卸载应用的命令,只能自己手动删除:

  adb shell

  cd /data/app

  rm app.apk

  2 、进入设备或模拟器的 shell :

  adb shell

  通过上面的命令,就可以进入设备或模拟器的 shell 环境中,在这个 Linux Shell 中,你可以执行各种 Linux 的命令,另外如果只想执行一条 shell 命令,可以采用以下的方式:

  adb shell [command]

  如: adb shell dmesg 会打印出内核的调试信息。

  3 、发布端口:

  你可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:

  adb forward tcp:5555 tcp:8000

  4 、复制文件:

  你可向一个设备或从一个设备中复制文件,

  复制一个文件或目录到设备或模拟器上:

  adb push

  如: adb push test.txt /tmp/test.txt

  从设备或模拟器上复制一个文件或目录:

  adb pull

  如: adb pull /addroid/lib/libwebcore.so .

  5 、搜索模拟器 / 设备的实例:

  取得当前运行的模拟器 / 设备的实例的列表及每个实例的状态:

  adb devices

  6 、查看 bug 报告:

  adb bugreport

  7 、记录无线通讯日志:

  一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:

  adb shell

  logcat -b radio

  8 、获取设备的 ID 和序列号:

  adb get-product

  adb get-serialno

  9 、访问数据库 SQLite3

  adb shell

  sqlite3

  模拟器上网设置:

  1. 在 adb shell 模式下执行以下命令

  sqlite3 /data/data/com.Android.providers.settings/databases/settings.db "INSERT INTO system VALUES(99,'http_proxy',' 10.10.26 .252:1080 ')"

  2. 重新启动Android 模拟器,程序可以登录http 网站。

  3. 如果要删除配置: sqlite3 /data/data/com.Android.providers.settings/databases/settings.db "DELETE FROM system WHERE _id=99"

  4. 在 adb shell 模式下执行查询命令

  sqlite3 /data/data/com.Android.providers.settings/databases/settings.db "SELECT * FROM system"

  5 .如果还无法连接Internet ,则需要设置DNS

  $ adb shell

  $ getprop

  $ getprop 会列出系统当前的各项属性

  得到模拟器的DNS 地址

  在结果里可以看到:

  [net.dns1]: [10.0.2.3]

  [net.dns2]: [10.0.2.4]

  [net.dns3]: [10.0.2.5]

  [net.dns4]: [10.0.2.6]

  把dns 改成我们自己的DNS

  $ setprop net.dns1 192.168.1.1

  注:一般TP-LINK 及D-LINK 的DNS 都是192.168.1.1 ,如果不是请使用ipcnofig /all 命令确认。

  注意: 在配置环境变量时,请确保配置路径完全正确,否则不要操作 /etc/profile 文件,因为这个文件不正确可能导致系统无法启动,

  所以可以在当前用户目录下找到 .bashrc, 配置环境变量,这样配置的值适合当前用户使用不是全局的。 )

  二. 创建工程

  1. 打开 necessitas (当前虚拟机上安装在: /home/frank/necessitas/ QtCreator/bin/ ),你可以在桌面创建快捷方式,或者将其配置到环境变量中。

  主界面如下:

  可以通过 File 打开一个 *.pro 工程文件或者自己创建一个

  

  

  

  

  

  

  

  

  

  

  在 Project 选项中可以进行相应的设置

  

  

  在 Qt Version 选项处点击 Manage 弹出一下对话框,根据现有的 SDK 、 NDK 和 Ant 的安装进行设置:

  

  

  

  

  

  

  注意 Run Settings 中设置 Package 为 10 或者更高否则无法使用 Qt 编译通过:

  

  

  

  

  

  此时点击 Build 可以编译程序,如果模拟器没有打开 necessitas 会自动打开模拟器。

  其它的设置可以根据自己的实际需求进行相应的设置。

  Qt Demo ( animatedtiles )运行效果图:

  

  

  

  附:

  1. tar 用法实例 tar 命令

  tar 文件是几个文件和(或)目录在一个文件中的集合。这是创建备份和归档的佳径。

  tar 使用的选项有:

  -c — 创建一个新归档。

  -f — 当与 -c 选项一起使用时,创建的 tar 文件使用该选项指定的文件名;当与 -x 选项

  一起使用时,则解除该选项指定的归档。

  -t — 显示包括在 tar 文件中的文件列表。

  -v — 显示文件的归档进度。

  -x — 从归档中抽取文件。

  -z — 使用 gzip 来压缩 tar 文件。

  -j — 使用 bzip2 来压缩 tar 文件。

  要创建一个 tar 文件,键入:

  tar -cvf filename.tar directory/file

  可以使用 tar 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格间隔:

  tar -cvf filename.tar /home/mine/work /home/mine/school

  上面的命令把 /home/mine 目录下的 work 和 school 子目录内的所有文件都放入当前

  目录中一个叫做 filename.tar 的新文件里。

  要列出 tar 文件的内容,键入:

  tar -tvf filename.tar

  要抽取 tar 文件的内容,键入

  tar -xvf filename.tar

  这个命令不会删除 tar 文件,但是它会把被解除归档的内容

  复制到当前的工作目录下,并保留归档文件所使用的任何

  目录结构。譬如,如果这个 tar 文件中包含一个叫做

  bar.txt 的文件,而这个文件包含在 foo/ 目录中,那么,

  抽取归档文件将会导致在你当前的工作目录中创建

  foo/ 目录,该目录中包含 bar.txt 文件

  tar 默认不压缩文件。

  要创建一个使用 tar 和 bzip 来归档压缩的文件,使用 -j 选项:

  tar -cjvf filename.tbz file

  以上命令创建了一个归档文件,然后将其压缩为 filename.tbz 文件。如果你使用 bunzip2 命令为 filename.tbz 文件解压, filename.tbz 文件会被删除,继

  之以 filename.tar 文件。

  你还可以用一个命令来扩展并解除归档 bzip tar 文件:

  tar -xjvf filename.tbz

  要创建一个用 tar 和 gzip 归档并压缩的文件,使用 -z 选项:

  tar -czvf filename.tgz file

  这个命令创建归档文件 filename.tar ,然后把它压缩为 filename.tgz 文件(文件 filename.tar 不被保留)。

  如果你使用 gunzip 命令来给 filename.tgz 文件解压, filename.tgz 文件会被删除,并被

  替换为 filename.tar 。

  你可以用单个命令来扩展 gzip tar 文件:

  tar -xzvf filename.tgz

  一 . tar

  1. 压缩一组文件为 tar.gz 后缀。

  # tar cvf backup.tar /etc

  #gzip -q backup.tar

  或

  # tar cvfz backup.tar.gz /etc/

  tar zxvf XXXX.tar.gz

  tar jxvf XXXX tar.bz2

  2. 释放一个后缀为 tar.gz 的文件。

  #gunzip backup.tar.gz

  #tar xvf backup.tar

  或

  # tar xvfz backup.tar.gz

  3. 用一个命令完成压缩

  #tar cvf – /etc/ | gzip -qc > backup.tar.gz

  4. 用一个命令完成释放

  # gunzip -c backup.tar.gz | tar xvf –

  5. 如何解开 tar.Z 的文件?

  # tar xvfz backup.tar.Z

  或

  # uncompress backup.tar.Z

  #tar xvf backup.tar

  6. 如何解开 .tgz 文件?

  #gunzip backup.tgz

  7. 如何压缩和解压缩 .bz2 的包?

  #bzip2 /etc/smb.conf

  这将压缩文件 smb.conf 成 smb.conf.bz2

  #bunzip2 /etc/smb.conf.bz2

  这将在当前目录下还原 smb.conf.bz2 为 smb.conf

  注 : .bz2 压缩格式不是很常用,你可以 man bzip2

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值