|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
视图是仪表盘模型是发动机控制器是控制芯片CoreData---管理数据OBJC刚学的时候觉得CD很高深其实他是最容易用的库之一Qt最年夜的上风就是跨平台,一次性开辟的Qt使用程序,能够跑Windows、跑linux、跑MAC……现在挪动平台android操纵体系云云火爆,Qt固然不克不及放过对android的撑持,对了,另有iphone/ipad。并且,c++开辟者们,想做android开辟也不是成绩了!可是今朝国际研讨qtforandroid的人真是太少了,明天我利用的是外洋开辟者社辨别享的资本:Necessitas
开辟情况
Ubuntu10.04(sorry,qtforandroid暂不撑持windows下开辟)
sun-java6(sorry,qtforandroid1.5会报错的,只能1.6)
necessitas资本下载地点:点击跳转到资本下载地点
apache-ant-1.8.0以上版本:这里供应1.8.2版本资本下载
操纵步骤
安装好necessitasqtcreator后,创立工程时,会发明多了一个Android选项,天然选择创立Android工程。然后会欣喜的发明,工程目次下多了android文件夹。这也是为何qt使用程序能够乐成的跑在android上的精华地点,下篇文章再详细剖析怎样完成的Android的撑持……
<br>
在Tools-->Options里设置一下android情况变量:
注重:别健忘add上名为qtonandroid的AVD(摹拟器)
<br>
然后就能够入手下手开辟Qt使用程序,为了演示,我只是任意写了一点。然后间接点击运转(CTRL+R)。
倘使呈现这个毛病:
Startingremoteprocess...
Cantfindeu.licentia.necessitas.industrius.example.Yiyaaixuexiprocess
办理计划是:
在run选项设置AndroidtargetSDK为android-8
倘使呈现毛病信息为:
Startingremoteprocess...
I/QtJAVA(469):surfaceChanged:480,762
D/dalvikvm(469):Tryingtoloadlib/data/data/eu.licentia.necessitas.ministro/files/qt/lib/libQtCore.so0x44ede7e8
D/dalvikvm(469):Addedsharedlib/data/data/eu.licentia.necessitas.ministro/files/qt/lib/libQtCore.so0x44ede7e8
D/dalvikvm(469):NoJNI_OnLoadfoundin/data/data/eu.licentia.necessitas.ministro/files/qt/lib/libQtCore.so0x44ede7e8,skippinginit
D/dalvikvm(469):Tryingtoloadlib/data/data/eu.licentia.necessitas.ministro/files/qt/lib/libQtGui.so0x44ede7e8
D/dalvikvm(469):Addedsharedlib/data/data/eu.licentia.necessitas.ministro/files/qt/lib/libQtGui.so0x44ede7e8
D/dalvikvm(469):NoJNI_OnLoadfoundin/data/data/eu.licentia.necessitas.ministro/files/qt/lib/libQtGui.so0x44ede7e8,skippinginit
D/dalvikvm(469):Tryingtoloadlib/data/data/eu.licentia.necessitas.ministro/files/qt/plugins/platforms/android/libandroid-8.so0x44ede7e8
D/dalvikvm(469):Addedsharedlib/data/data/eu.licentia.necessitas.ministro/files/qt/plugins/platforms/android/libandroid-8.so0x44ede7e8
I/Qt(469):qtstart
D/dalvikvm(469):Tryingtoloadlib/data/data/eu.licentia.necessitas.industrius.example.Yiyaaixuexi/lib/libYiyaaixuexi.so0x44ede7e8
D/dalvikvm(469):Addedsharedlib/data/data/eu.licentia.necessitas.industrius.example.Yiyaaixuexi/lib/libYiyaaixuexi.so0x44ede7e8
I/Qt(469):qtstart
W/ApplicationContext(469):Unabletocreatefilesdirectory
D/AndroidRuntime(469):ShuttingdownVM
W/dalvikvm(469):threadid=1:threadexitingwithuncaughtexception(group=0x4001d800)
E/AndroidRuntime(469):FATALEXCEPTION:main
E/AndroidRuntime(469):java.lang.NullPointerException
E/AndroidRuntime(469):ateu.licentia.necessitas.industrius.QtActivity.startApplication(QtActivity.java:126)
E/AndroidRuntime(469):ateu.licentia.necessitas.industrius.QtActivity.access$000(QtActivity.java:62)
E/AndroidRuntime(469):ateu.licentia.necessitas.industrius.QtActivity$1$1.run(QtActivity.java:149)
E/AndroidRuntime(469):atandroid.os.Handler.handleCallback(Handler.java:587)
E/AndroidRuntime(469):atandroid.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime(469):atandroid.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(469):atandroid.app.ActivityThread.main(ActivityThread.java:4627)
E/AndroidRuntime(469):atjava.lang.reflect.Method.invokeNative(NativeMethod)
E/AndroidRuntime(469):atjava.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime(469):atcom.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
E/AndroidRuntime(469):atcom.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
E/AndroidRuntime(469):atdalvik.system.NativeStart.main(NativeMethod)
I/Process(469):Sendingsignal.PID:469SIG:9
办理计划:
这类毛病并非情况设置的缘故原由,而是Qt使用程序自己的计划不切合现有平台工具对android的撑持。
好比:label上有中笔墨符等……改用英笔墨符就能够pass的。
假如你研讨出了对中笔墨符撑持的计划,接待交换下~~
顺遂的话,编译经由过程后会主动弹出android摹拟器,可是初度运转程序会碰到这个成绩:
<br>
别忧虑,你能够本人往googlemarket下载MinistroConfigurationTool-1.0.apk和Ministro-2.0.apk,
也能够间接下载我上传到csdn的资本:apk-1apk-2
adbinstall促进安装这两个apk后,再次运转程序,会提醒:
<br>
<br>
安装完成后,再猖狂的启动log以后,就会在摹拟器上看到让我们欣喜的qt使用程序了~~哦不,如今是android使用程序了!
特地提一句:qt使用程序实在被打包成了Yiyaaixuexi-debug.apk,在工程目次下的android/bin/下。
下图是最终效果:
<br>
以后的学习中,一定要多问自己几个为什么,多向有经验的人请教,不要碍于面子。我看重苹果未来的发展,所以我一定要坚持下去,也许别人很容易就学会了的工具,我要学很久,但没关系,因为我始终相信勤能补拙这句话! |
|