linuxqtforandroid
1. 安卓系统简介
Android是基于linux平台的开源手机操作系统
特性有:应用程序框架 支持组件的重用与御闭替换
Dalvik虚拟机 专门为移动设备做了优化
内部集成浏览器 该浏览器基于开源的WebKit 引擎
优化的图形库 包括2D和3D图形库,3D图形库基于OpenGL ES 1.0 (硬件加速可选)
#sqlite 用作镇悄裂结构化的数据存储
多媒体支持 包括常运模见的音频、视频和静态印象文件格式 (如 MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
GSM电话 (依赖于硬件)
蓝牙Bluetooth, EDGE, 3G, and WiFi (依赖于硬件)
照相机,GPS,指南针,和加速度计 (依赖于硬件)
丰富的开发环境 包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse集成开发环境插
2. linux+qt好还是android好
Tiny210 没用过。
建议先看你板子 SDK 的支持程度,如果 QT 还需要自己移植,当然用 Android 更好;如果 Android 需要你自己搞,可能 QT 相对容易些。
启动后进入默认全屏页面不难吧,QT 可设,Android 没做过,应该也很方便设。
3. 如何采用QT开发出windows/Linux/Mac/Andriod/iOS的程序
好像这个要用 QT5 。具体看 QT 的官方资料吧。国内的教学,才处于 QT2 和 QT3 的阶段,连 QT4 都没有到。
4. Qt的前景如何Qt for Android 好吗
谈谈个人的看法吧:1、Qt主要强大在他能跨平台,及一套代码可以在很多平台上编译运行。2、Qt目前用于嵌入式系统比较普遍,PC端的应用程序现在也逐渐多起来了,值得高兴。3、如果想开发andriod应用的话,用QtQuick还是不错的,但是也有一些弊端就是调用andrido系统的一些api稍微麻烦点,需要通过java代码转换,这点在执行效率什么的都比不上原生的android应用开发。4、因此根据个人情况来定,如果纯属学习,个人感觉Qt还是不错的。以后的发展会慢慢变好!
5. qt5安卓配置支持安卓
一、首先下载以下安装包,如果提供的链接失效请自行下载:
(1)
Android SDK (Windows 32-bit ADT版):
【直接下载】s-x86-20131030.zip
(2)
Android NDK(Windows 32-bit):
Java JDK(Windows 32-bit):
(4)
Apache-Ant:
QT 5.1.1 for Android (Windows 32-bit 离线版):
二、接下来解压、安装下载好的各安装包:
(1)Android SDK:
【解压】解压到 D:ADT 目录下
(2)Android NDK:
【解压】解压到 D:NDK 目录下
(3)Java JDK(Windows 35-bit):
【安装】安装过程中有两次要选择安装路径 【注意请根据自己安装的版本自行修改,后面设置环境变量需要用到】
第一次填写 D:Javajdk1.7.0_45
第二次填写 D:Javajre7
(4)Apache-Ant:
【解压】解压到D:ANT目录下
(5)QT 5.1.1 for Android (Windows 35-bit 离线版):
【安装】安装到D:QT目录下
三、根据第二步中的相关路径,设置系统环境变量:
(一) 右键单击我的电脑->属性->高级系统设置->环境变量,在系统变量中新建以下变量:
(1)变量名:JAVA_HOME
变量值:D:Javajdk1.7.0_45
(2)变量名:CLASSPATH
变量值:.;%JAVA_HOME%lib;%JAVA_HOME%lib ools.jar; 【注意最前面的点号 . 和最后面的分号 ; 不能漏掉】
(3)变量名:ANDROID_SDK_HOME
变量值:D:ADTsdk
(4)变量名:ANT_HOME
变量值:D:ANT
(二)在系统变量里找到变量 Path ,选择”编辑“,在最后面添加:
%JAVA_HOME%in;%JAVA_HOME%jrein;%ANDROID_SDK_HOME%;
【注意最后面的分号 ; 不能漏掉】
(6)项目构建成功后,右键 项目,选择 运行,Android虚拟设备将会自动打开,启动过程过程较慢,耐心等候。
(7)若无意外,将会成功运行该空项目生成的apk,因为这里是个空的项目,什么也没写,所以当然什么也没有,效果如图,表明环境配置成功。
(8)接下来,动手开始 QT for Android 开发吧。
PS:转载请注明出处,谢谢合作。
6. linux下使用QT开发android, 无法生成apk文件,提示 target id 未找到, 但是明明已经设置过id 了!
我也遇到这个问题,不过我选择工程,右键,Run qmake, 接着rebuilt 就可以了。你也可以这样试一下。
7. 求助,qt for android无法调试
s为 ABI 'arm-linux-android-elf-32bit'启动调试器'QmlCppEngine'...
dStart parameters: 'com.ds.elofm' mode: 6
dABI: arm-linux-android-elf-32bit
dLanguages: c++ qml
dExecutable: D:\QtWorkSpace\build-eloFM-Android_for_armeabi_v7a_GCC_4_9_Qt_5_4_1-Debug\app_process
dDebugger: D:\Android\android-ndk-r10d\toolchains\arm-linux-androideabi-4.9\prebuilt\windows\bin\arm-linux-androideabi-gdb.exe
dProject: D:\QtWorkSpace\eloFM (built: D:\QtWorkSpace\build-eloFM-Android_for_armeabi_v7a_GCC_4_9_Qt_5_4_1-Debug)
dQML server: 127.0.0.1:3768
dRemote: :5039
dSysroot:
dDebug Source Location:
dDebugger settings:
```````中间略...`````````
s正在设置 inferior...
<204-interpreter-exec console "set auto-solib-add on"
<205-interpreter-exec console "python sys.path.insert(1, 'C:/Qt/Qt5.4.1/Tools/QtCreator/share/qtcreator/debugger/')"
<206-interpreter-exec console "python sys.path.append('D:/Android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/windows/bin/data-directory/python')"
<207-interpreter-exec console "python from gdbbridge import *"
W/ActivityThread( 7621): Application com.ds.elofm can be debugged on port 8100...
W/System.err( 7621): java.lang.ClassNotFoundException: android.graphics.drawable.RippleDrawable
W/System.err( 7621): at java.lang.Class.classForName(Native Method)
W/System.err( 7621): at java.lang.Class.forName(Class.java:251)
W/System.err( 7621): at java.lang.Class.forName(Class.java:216)
```````中间略...`````````
W/System.err( 7621): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:818)
W/System.err( 7621): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:634)
W/System.err( 7621): at dalvik.system.NativeStart.main(Native Method)
W/System.err( 7621): Caused by: java.lang.NoClassDefFoundError: android/graphics/drawable/RippleDrawable
W/System.err( 7621): ... 25 more
W/System.err( 7621): Caused by: java.lang.ClassNotFoundException: Didn't find class "android.graphics.drawable.RippleDrawable" on path: DexPathList[[zip file "/data/app/com.ds.elofm-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.ds.elofm-2, /vendor/lib, /system/lib]]
W/System.err( 7621): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
W/System.err( 7621): at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
W/System.err( 7621): at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
W/System.err( 7621): ... 25 more
W/System.err( 7621): java.lang.ClassNotFoundException: android.graphics.drawable.AnimatedStateListDrawable
W/System.err( 7621): at java.lang.Class.classForName(Native Method)
W/System.err( 7621): at java.lang.Class.forName(Class.java:251)
W/System.err( 7621): at java.lang.Class.forName(Class.java:216)
```````中间略...`````````
W/System.err( 7621): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:634)
W/System.err( 7621): at dalvik.system.NativeStart.main(Native Method)
W/System.err( 7621): Caused by: java.lang.NoClassDefFoundError: android/graphics/drawable/AnimatedStateListDrawable
W/System.err( 7621): ... 25 more
W/System.err( 7621): Caused by: java.lang.ClassNotFoundException: Didn't find class "android.graphics.drawable.AnimatedStateListDrawable" on path: DexPathList[[zip file "/data/app/com.ds.elofm-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.ds.elofm-2, /vendor/lib, /system/lib]]
W/System.err( 7621): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
W/System.err( 7621): at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
W/System.err( 7621): ... 25 more
W/System.err( 7621): java.lang.ClassNotFoundException: android.graphics.drawable.VectorDrawable
W/System.err( 7621): at java.lang.Class.classForName(Native Method)
W/System.err( 7621): at java.lang.Class.forName(Class.java:251)
W/System.err( 7621): at java.lang.Class.forName(Class.java:216)
```````中间略...`````````
W/System.err( 7621): at dalvik.system.NativeStart.main(Native Method)
W/System.err( 7621): Caused by: java.lang.NoClassDefFoundError: android/graphics/drawable/VectorDrawable
W/System.err( 7621): ... 25 more
W/System.err( 7621): Caused by: java.lang.ClassNotFoundException: Didn't find class "android.graphics.drawable.VectorDrawable" on path: DexPathList[[zip file "/data/app/com.ds.elofm-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.ds.elofm-2, /vendor/lib, /system/lib]]
W/System.err( 7621): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
W/System.err( 7621): at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
W/System.err( 7621): at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
W/System.err( 7621): ... 25 more
W/ResourceType( 7621): Skipping entry 0x1080524 in package table 0 because it is not complex!
>=thread-group-added,id="i1"
>~"GNU gdb (GDB) 7.6\n"
>~"This GDB was configured as \"--host=i586-pc-mingw32msvc --target=arm-linux-android\".\nFor bug reporting instructions, please see:\n"
>~"<http://source.android.com/source/report-bugs.html>.\n"
>&"show version\n"
>~"GNU gdb (GDB) 7.6\n"
>~"Copyright (C) 2013 Free Software Foundation, Inc.\n"
>~"This GDB was configured as \"--host=i586-pc-mingw32msvc --target=arm-linux-android\".\nFor bug reporting instructions, please see:\n"
>~"<http://source.android.com/source/report-bugs.html>.\n"
>195^done
dPARSING VERSION: 195^done
>&"show debug-file-directory\n"
>~"The directory where separate debug symbols are searched for is \"c:\\tmp\\ndk-andrewhsieh\\build\\toolchain\\prefix\\lib\\debug\".\n"
>196^done
```````中间略...`````````
>211^done
<212target extended-remote tcp::5039
>&"target extended-remote tcp::5039\n"
>~"Remote debugging using tcp::5039\n"
>~"Ignoring packet error, continuing...\n"
>&"warning: unrecognized item \"timeout\" in \"qSupported\" response\n"
unrecognized item "timeout" in "qSupported" response
>~"Ignoring packet error, continuing...\n"
W/System.err( 7621): java.lang.Exception:
W/System.err( 7621): at org.qtproject.qt5.android.bindings.QtActivity.loadApplication(QtActivity.java:261)
W/System.err( 7621): at org.qtproject.qt5.android.bindings.QtActivity.startApp(QtActivity.java:660)
W/System.err( 7621): at org.qtproject.qt5.android.bindings.QtActivity.onCreate(QtActivity.java:900)
W/System.err( 7621): at android.app.Activity.performCreate(Activity.java:5303)
W/System.err( 7621): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1091)
W/System.err( 7621): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2165)
W/System.err( 7621): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2255)
W/System.err( 7621): at android.app.ActivityThread.access$800(ActivityThread.java:142)
W/System.err( 7621): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1213)
W/System.err( 7621): at android.os.Handler.dispatchMessage(Handler.java:102)
W/System.err( 7621): at android.os.Looper.loop(Looper.java:136)
W/System.err( 7621): at android.app.ActivityThread.main(ActivityThread.java:5217)
W/System.err( 7621): at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err( 7621): at java.lang.reflect.Method.invoke(Method.java:515)
W/System.err( 7621): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:818)
W/System.err( 7621): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:634)
W/System.err( 7621): at dalvik.system.NativeStart.main(Native Method)
>~"Ignoring packet error, continuing...\n"
>~"Ignoring packet error, continuing...\n"
>&"Remote connection closed\n"
dNOTE: INFERIOR EXITED
dState changed from InferiorSetupRequested(4) to InferiorExitOk(16)
dQUIT DEBUGGER REQUESTED IN STATE 6
dNOTE: INFERIOR ILL
dState changed from InferiorSetupOk(6) to InferiorShutdownRequested(17)
dQUEUE: SHUTDOWN INFERIOR
dState changed from InferiorExitOk(16) to InferiorShutdownOk(19)
dNOTE: INFERIOR EXITED
dState changed from InferiorSetupRequested(4) to InferiorExitOk(16) [master]
dState changed from InferiorExitOk(16) to InferiorShutdownOk(19) [master]
dState changed from InferiorShutdownOk(19) to EngineShutdownRequested(20) [master]
dQUEUE: SHUTDOWN ENGINE
>212^error,msg="Remote connection closed"
sFailed to start application: 连接远程服务器失败:
sRemote connection closed
dINFERIOR START FAILED
dNOTE: INFERIOR SETUP FAILED
s设置失败。
dState changed from InferiorShutdownOk(19) to InferiorSetupFailed(5)
dQUIT DEBUGGER REQUESTED IN STATE 17
dNOTE: INFERIOR ILL
dState changed from InferiorShutdownRequested(17) to InferiorShutdownRequested(17)
dQUEUE: SHUTDOWN INFERIOR
dNOTE: INFERIOR SETUP FAILED
s设置失败。
dState changed from EngineShutdownRequested(20) to InferiorSetupFailed(5) [master]
dState changed from InferiorSetupFailed(5) to EngineShutdownRequested(20) [master]
dQUEUE: SHUTDOWN ENGINE
dCALL: SHUTDOWN INFERIOR
dINFERIOR SUCCESSFULLY SHUT DOWN
dState changed from InferiorShutdownRequested(17) to InferiorShutdownOk(19)
dCALL: SHUTDOWN ENGINE
dState changed from InferiorSetupFailed(5) to EngineShutdownRequested(20)
dINITIATE GDBENGINE SHUTDOWN IN STATE 0, PROC: 2
<213-gdb-exit
dCALL: SHUTDOWN INFERIOR
dINFERIOR SUCCESSFULLY SHUT DOWN
dState changed from InferiorShutdownOk(19) to InferiorShutdownOk(19)
dCALL: SHUTDOWN ENGINE
dState changed from EngineShutdownRequested(20) to EngineShutdownRequested(20)
dINITIATE GDBENGINE SHUTDOWN IN STATE 0, PROC: 2
<214-gdb-exit
>213^exit
dGDB CLAIMS EXIT; WAITING
dUNEXPECTED GDB STDERR: Could not AssignProcessToObject
dGDB PROCESS FINISHED, status 0, code 0
dNOTE: ENGINE SHUTDOWN OK
dState changed from EngineShutdownRequested(20) to EngineShutdownOk(22)
dNOTE: ENGINE SHUTDOWN OK
dState changed from EngineShutdownRequested(20) to EngineShutdownOk(22) [master]
dState changed from EngineShutdownOk(22) to DebuggerFinished(23) [master]
dQUEUE: FINISH DEBUGGER
dState changed from EngineShutdownOk(22) to DebuggerFinished(23)
dNOTE: FINISH DEBUGGER
dHANDLE RUNCONTROL FINISHED
s调试器已结束。
8. QT for android linux 下环境配置,已经下载好了necessitas 包,如何用命令将QT程序编译成android程序。
虽然网络上很多人使用 Redhat 或者Fedora 作为上位机操作系统,但是我觉得使用Ubuntu最为方便,因为需要的软件包大部分都可以通过 apt-get 方式来安装,而不必从源代码开始自己编译。
虽然网络上很多人使用 Redhat 或者Fedora 作为上位机操作系统,但是我觉得使用Ubuntu最为方便,因为需要的软件包大部分都可以通过 apt-get 方式来安装,而不必从源代码开始自己编译。要知道,自己编译源代码可不是一件轻松的事,因为在编译过程中经常会出现令人意外而且莫名其妙的错误。
我们使用的操作系统是 Ubuntu 8.04,使用目前最新版本的QT 4.4.0,安装起来即为简单,只要在命令编辑运行以下命令就行:
sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer
注意在这个版本的软件包中,qt4-dev-tools 包含了Qt Assistant及Qt Linguist等工具,因此不需要单独安装这两个工具。其它的,qt4-doc 是帮助文档,包含了Qt中各个类库的详细说明以及丰富的例子程序,可以使用Qt Assistant 工具来打开阅读。qt4-qtconfig 是配置Qt环境的一个对话框,一般默认就行了,很少有必要去更改。qt4-demos 包含很多可以运行起来的可执行文件以及源代码。qt4-designer是用来设计GUI界面的设计器。
为了连接MySQL数据库,需要安装连接MySQL的驱动程序:
sudo apt-get install libqt4-sql-mysql
比起在Windows下安装和配置Qt的MySQL驱动来说,简直太方便了。如果还需要其它的没有默认安装的Qt库,可以在命令行输入 sudo apt-get install libqt4- 然后按tab键自动补全,就会列出所有以libqt4- 开头的软件包,如下图所示:
这些都可以使用一个命令搞定,而不需要自己从源码开始编译。在记不准或不知道名字的情况下,使用tab键列出所有可选的软件包是一个很实用的小技巧。
在我的项目中,还需要画一些数据曲线和统计图表等,而第三方的QWT库提供了这些功能。同样,只需要一个命令即可完成安装:
sudo apt-get install libqwt5-qt4 libqwt5-qt4-dev
这时,打开Qt Designer,就会发现左边的Widget列表里面多了“Qwt Widget”这一组。
最后,关于集成开发环境我觉得QDevelop很不错,它跟Qt Designer结合的很好,而且有提示类成员函数的功能。运行以下命令安装:
sudo apt-get install qdevelop
这样,使用Qdevelop编写代码和编译、调试,使用Qt Designer设计界面,开发效率较高。
9. linux qt怎么开发安卓apk
不看好Qt for Android。以下简称QfA.
1. 跨平台只在pc上有优势,在移动设备上毫无优势。移动设备整体的应用风格需要保持一致,你外部加进来一个ui,倒是和平台保持一致了。你如何保持和原生ui的这种使用一致性。
2.在开发易用度上,Android(java) api 已经做得很好,包括事件,广播,服务等Qt里有的基本上Android api里已经做得很好,从Qt开发者转为java开发者也很容易。 而如果要写QfA应用,开发者不仅要懂Qt,同样也避免不了要写java代码。
3. 如果要写和其它app通信的时候,QfA的灾难性就来了。如果是上层的几乎等完整的搞一遍Android api吧。 另外对于和设备相关的一些调用(GPS/Telephony)等,QfA的工作量一下子就上来了,这时候你还指望qml么?
4.性能呢? QfA对于图形渲染区的请求还得在java的接口请求,是不是又要绕了个大弯。
5. 软件体积。 终端用户要用Qt app,势必要先装一个Qt lib, 或者在你的app 中一起静态发布。
在有很多优秀的QfA app出现之前,大家不带乐意只为一个好的app 去装一个大的软件,而会愿意选择一个原生软件替代。
10. qt for android assets怎么用
qt for android是一套开发平台,它能用QT来开发Android上的应用(App),主要可以用它来开发游戏 而它不是安装在android上的,而是安装在电脑上(可以用在linux或windwos平台上) 按你的说法,就是 是在电脑QT上开发Android