linuxqtandroid開發
① 如何採用QT開發出windows/linux/Mac/Andriod/iOS的程序
好像這個要用 QT5 。具體看 QT 的官方資料吧。國內的教學,才處於 QT2 和 QT3 的階段,連 QT4 都沒有到。
② 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 去裝一個大的軟體,而會願意選擇一個原生軟體替代。
③ 嵌入式linux和嵌入式android系統有什麼區別和聯系
嵌入式android源碼架構:uboot+linux kernel+android(包含文件系統,虛擬機,UI)
嵌入式linux:這是大部分人認識的linux uboot+linux kernel+文件系統+QT(UI),
當然兩者的linux 內核因為上層UI的不同會稍有差別,不過還是非常接近的,做過linux的人可以無縫切換到android底層開發,所以大家說的學習android系統,其實最重要的就是學習linux驅動,再加一下android下的專門的HAL,JNI,java等等,不過大公司android相關部分也是專門的人做的了。
甚至連QT都不用了,因為linux很多設備都是沒有UI的,所以要來幹啥?直接無界面,照樣是嵌入式linux。
現在大家說的什麼嵌入式debian,ubuntu,其實也是站在linux巨人的肩膀上,其實都不算是linux的分支,只算是linux的延伸,小變化而已。看到這里大家知道嵌入式linux的強大了吧,反正是比wince 強大N倍啊。
O(∩_∩)O~,所以啊,學習嵌入式android,其實底下就是學習uboot,linux內核啊,不會搞這些就像搞應用一樣,所以大家以為android就是java,是非常片面的。
以前老的,說了一下區別,可以參考一下
ARCH -- 這是Android修改了arch/arm下面的一些文件:
arch/arm:
Chg: arch/arm/kernel/entry-armv.S
Chg: arch/arm/kernel/mole.c
Chg: arch/arm/kernel/process.c
Chg: arch/arm/kernel/ptrace.c
Chg: arch/arm/kernel/setup.c
Chg: arch/arm/kernel/signal.c
Chg: arch/arm/kernel/traps.c
Chg: arch/arm/mm/cache-v6.S
Chg: arch/arm/vfp/entry.S
Chg: arch/arm/vfp/vfp.h
Chg: arch/arm/vfp/vfphw.S
Chg: arch/arm/vfp/vfpmole.c
Goldfish -- 這是Android為了模擬器所開發的一個虛擬硬體平台。Goldfish執行arm926T指令(在2.6.29中,goldfish也支持ATMv7指令),但是在實際的設備中,該虛擬平台的文件不會被編譯。
arch/arm/mach-goldfish:
New: arch/arm/mach-goldfish/audio.c
New: arch/arm/mach-goldfish/board-goldfish.c
New: arch/arm/mach-goldfish/pdev_bus.c
New: arch/arm/mach-goldfish/pm.c
New: arch/arm/mach-goldfish/switch.c
New: arch/arm/mach-goldfish/timer.c
YAFFS2 -- 和PC把文件存儲在硬碟上不一樣, 移動設備一般把Flash作為存儲設備。尤其是NAND flash應用非常廣泛(絕大多數手機用的都是NAND flash,三星的一些手機使用的是OneNAND)。NAND flash具有低成本和高密度的優點。
YAFFS2 是「Yet Another Flash File System, 2nd edition" 的簡稱。 它提供在Linux內核和NAND flash設備 之前高效率的介面。 YAFFS2並沒有包含在標準的Linux內核中, Google把它添加到了Android的kernel
fs/yaffs2:
New: fs/yaffs2/devextras.h
New: fs/yaffs2/Kconfig
New: fs/yaffs2/Makefile
New: fs/yaffs2/moleconfig.h
New: fs/yaffs2/yaffs_checkptrw.c
New: fs/yaffs2/yaffs_checkptrw.h
New: fs/yaffs2/yaffs_ecc.c
New: fs/yaffs2/yaffs_ecc.h
New: fs/yaffs2/yaffs_fs.c
New: fs/yaffs2/yaffs_getblockinfo.h
New: fs/yaffs2/yaffs_guts.c
New: fs/yaffs2/yaffs_guts.h
New: fs/yaffs2/yaffsinterface.h
New: fs/yaffs2/yaffs_mtdif1.c
New: fs/yaffs2/yaffs_mtdif1.h
New: fs/yaffs2/yaffs_mtdif2.c
New: fs/yaffs2/yaffs_mtdif2.h
New: fs/yaffs2/yaffs_mtdif.c
New: fs/yaffs2/yaffs_mtdif.h
New: fs/yaffs2/yaffs_nand.c
New: fs/yaffs2/yaffs_nandemul2k.h
New: fs/yaffs2/yaffs_nand.h
New: fs/yaffs2/yaffs_packedtags1.c
New: fs/yaffs2/yaffs_packedtags1.h
New: fs/yaffs2/yaffs_packedtags2.c
New: fs/yaffs2/yaffs_packedtags2.h
New: fs/yaffs2/yaffs_qsort.c
New: fs/yaffs2/yaffs_qsort.h
New: fs/yaffs2/yaffs_tagscompat.c
New: fs/yaffs2/yaffs_tagscompat.h
New: fs/yaffs2/yaffs_tagsvalidity.c
New: fs/yaffs2/yaffs_tagsvalidity.h
New: fs/yaffs2/yportenv.h
Bluetooth -- Google為Bluetooth打上了patch,fix了一些Bluetooth的bug
drivers/bluetooth:
Chg: drivers/bluetooth/bfusb.c
Chg: drivers/bluetooth/bt3c_cs.c
Chg: drivers/bluetooth/btusb.c
Chg: drivers/bluetooth/hci_h4.c
Chg: drivers/bluetooth/hci_ll.c
Scheler -- 對於Scheler的改變非常小,我對它並沒有去研究。
Chg: kernel/sched.c
New Android Functionality -- 除了fix一些bug以及其他一些小的更改,Android增加了一些新的功能,介紹如下:
IPC Binder -- The IPC Binder is an Inter-Process Communication (IPC) mechanism. It allows processes to provide services to other processes via a set of higher-level APIs than are available in standard Linux. An Internet search indicated that the Binder concept originated at Be, Inc., and then made its way into Palm's software, before Google wrote a new Binder for Android.
New: drivers/staging/android/binder.c
Low Memory Killer -- Android adds a low-memory killer that, each time it's called, scans the list of running Linux processes, and kills one. It was not clear in our cursory examination why Android adds a low-memory killer on top of the already existing one in the standard Linux kernel.
New: drivers/staging/android/lowmemorykiller.c
Ashmem -- Ashmem is an Anonymous SHared MEMory system that adds interfaces so processes can share named blocks of memory. As an example, the system could use Ashmem to store icons, which multiple processes could then access when drawing their UI. The advantage of Ashmem over traditional Linux shared memory is that it provides a means for the kernel to reclaim these shared memory blocks if they are not currently in use. If a process then tries to access a shared memory block the kernel has freed, it will receive an error, and will then need to reallocate the block and reload the data.
New: mm/ashmem.c
RAM Console and Log Device -- To aid in debugging, Android adds the ability to store kernel log messages to a RAM buffer. Additionally, Android adds a separate logging mole so that user processes can read and write user log messages.
New: drivers/staging/android/ram_console.c
Android Debug Bridge -- Debugging embedded devices can best be described as challenging. To make debugging easier, Google created the Android Debug Bridge (ADB), which is a protocol that runs over a USB link between a hardware device running Android and a developer writing applications on a desktop PC.
drivers/usb/gadget:
New: drivers/usb/gadget/android.c
Chg: drivers/usb/gadget/composite.c
Chg: drivers/usb/gadget/f_acm.c
New: drivers/usb/gadget/f_acm.h
New: drivers/usb/gadget/f_adb.c
New: drivers/usb/gadget/f_adb.h
New: drivers/usb/gadget/f_mass_storage.c
New: drivers/usb/gadget/f_mass_storage.h
Android also adds a new real-time clock, switch support, and timed GPIO support. We list the impacted files for these new moles at the end of this document.
Power Management -- Power management is one of the most difficult pieces to get right in mobile devices, so we split it out into a group separate from the other pieces. It's interesting to note that Google added a new power management system to Linux, rather than reuse what already existed. We list the impacted files at the end of this document.
kernel/power:
New: kernel/power/consoleearlysuspend.c
New: kernel/power/earlysuspend.c
New: kernel/power/fbearlysuspend.c
Chg: kernel/power/main.c
Chg: kernel/power/power.h
Chg: kernel/power/process.c
New: kernel/power/userwakelock.c
New: kernel/power/wakelock.c
Miscellaneous Changes -- In addition to the above, we found a number of changes that could best be described as, 'Miscellaneous.' Among other things, these changes include additional debugging support, keypad light controls, and management of TCP networking
http://www.linuxfordevices.com/c ... id-to-a-new-device/
http://hi..com/smallbigwang/item/95c99ebcb0e9544cba0e1281
④ 安卓開發一定要用 Java 嗎,其他語言開發方便嗎
安卓開發我認為不一定要用Java,但是相比於其他的語言來說Java會比較的方便,因為學習計算機專業或軟體開發專業的人,一般情況下,專業生課本全部都是發放的Java的課本,老師會根據書本和實際情況對Java語言進行教學。而且普遍情況下,掌握Java語言的編輯的人占絕大多數。如果使用其他的,遇到不懂得問題,可能就僅僅只能靠自己了。上圖是安卓應用層開發的圖片。
所以我認為做安卓開發最好使用Java,如果你的天賦、自學能力等各個方面都很強的話,可以使用其它的安卓設計的語言。
⑤ 哪家的S5PV210開發板有視頻教程呢主要是Linux和Android部分。
目前210開發板視頻很少,基本沒有專門為某個開發板錄的,基本都是第三方的。相比而言,飛凌的OK210視頻還多一點兒,給你個目錄參考一下吧。
Android視頻
1、飛凌S5PV210開發板Android編譯環境搭建視頻教程
2、飛凌S5PV210開發板Android源碼編譯視頻教程
3、飛凌S5PV210開發板將Android燒寫到開發板視頻教程
4、飛凌S5PV210開發板將Android開發環境搭建視頻教程
5、飛凌S5PV210開發板將Android應用開發實例視頻教程
WIN
CE視頻
1、飛凌S5PV210開發板wince環境搭建與編譯視頻教程
2、飛凌S5PV210開發板初識bsp視頻教程
3、飛凌S5PV210開發板bootloader的啟動流程視頻教程
4、飛凌S5PV210開發板LED驅動與應用程序開發視頻教程
5、飛凌S5PV210開發板串口驅動與應用程序開發視頻教程
6、飛凌S5PV210開發板攝像頭驅動與應用程序開發視頻教程
Linux視頻
1、飛凌S5PV210開發板Windows7
安裝Ubuntu12.04(32位)
虛擬機視頻教程
2、飛凌S5PV210開發板配置虛擬機環境視頻教程
3、飛凌S5PV210開發板Linux內核代碼的下載視頻教程
4、飛凌S5PV210開發板移植新的Linux內核代碼到開發板視頻教程
5、飛凌S5PV210開發板在新的Linux內核代碼中增加網路驅動視頻教程
6、飛凌S5PV210開發板在新的Linux內核代碼中增加LED驅動視頻教程
7、飛凌S5PV210開發板在新的Linux內核代碼中增加串口驅動視頻教程
8、飛凌S5PV210開發板在新的Linux內核代碼中增加LCD顯示功能視頻教程
9、飛凌S5PV210開發板在新的Linux內核代碼中增加電阻觸摸功能視頻教程
10、飛凌S5PV210開發板編寫Led應用程序視頻教程
11、飛凌S5PV210開發板編寫串口測試應用程序視頻教程
QT視頻
1、飛凌S5PV210開發板QT
creator
集成開發環境介紹視頻教程
2、
飛凌S5PV210開發板hello
world視頻教程
3、飛凌S5PV210開發板ubuntu環境搭建視頻教程
4、飛凌S5PV210開發板如何在開發板上運行qt4.7程序視頻教程
5、飛凌S5PV210開發板應用開發實例視頻教程
裸機視頻
1、飛凌S5PV210開發板下載bin文件到開發板視頻教程
2、飛凌S5PV210開發板裸機開發環境搭建視頻教程
3、飛凌S5PV210開發板實例1:蜂鳴器實驗視頻教程
4、飛凌S5PV210開發板實例2:LED流水燈實驗視頻教程
5、飛凌S5PV210開發板實例3:按鍵實驗視頻教程
6、飛凌S5PV210開發板實例4:串口操實驗視頻教程
7、飛凌S5PV210開發板實例5:IIC實驗視頻教程
8、飛凌S5PV210開發板實例6:PWM實驗視頻教程
硬體設計視頻
1、飛凌S5PV210開發板AD10的安裝視頻教程
2、飛凌S5PV210開發板AD10的介紹視頻教程
3、飛凌S5PV210開發板AD10元件庫的製作方法視頻教程
4、飛凌S5PV210開發板AD10封裝庫的製作方法視頻教程
5、飛凌S5PV210開發板OK210最小系統可行性分析視頻教程
6、飛凌S5PV210開發板設計原理圖視頻教程
7、飛凌S5PV210開發板生成PCB視頻教程
8、飛凌S5PV210開發板制板流程講解視頻教程
⑥ Qt的前景如何Qt for Android 好嗎
談談個人的看法吧:1、Qt主要強大在他能跨平台,及一套代碼可以在很多平台上編譯運行。2、Qt目前用於嵌入式系統比較普遍,PC端的應用程序現在也逐漸多起來了,值得高興。3、如果想開發andriod應用的話,用QtQuick還是不錯的,但是也有一些弊端就是調用andrido系統的一些api稍微麻煩點,需要通過java代碼轉換,這點在執行效率什麼的都比不上原生的android應用開發。4、因此根據個人情況來定,如果純屬學習,個人感覺Qt還是不錯的。以後的發展會慢慢變好!
⑦ linux+qt好還是android好
Tiny210 沒用過。
建議先看你板子 SDK 的支持程度,如果 QT 還需要自己移植,當然用 Android 更好;如果 Android 需要你自己搞,可能 QT 相對容易些。
啟動後進入默認全屏頁面不難吧,QT 可設,Android 沒做過,應該也很方便設。
⑧ 如何用Qt寫Android應用
設置qt-android開發環境
第一步:創建一個Android項目
我以Empty Qt
Project為例.點擊Choose後出現一個對話框要求填寫Project的名字和選擇路徑,輸入完成後點擊Next,到下面一個比較重要的操作:選擇Qt
Version
注意,默認是選擇Destkop的,正確應該按上圖設置.設置後按Next確認一下,沒有錯就按Finish完成Qt-Android項目的建立.只要正確建立了Qt項目,就完成了一大半了.下圖是完成後的一個截圖:
第二步:編寫程序
在這步大家按照平常Qt
Creator的步驟寫程序就好.但是注意的是,有些模塊暫時還沒有移植,例如Qt網路模塊,所以不能有網路相關的應用(不過我想這遲早會移植的).
作為例子,我就用hello
world吧:#include<QApplication#include<QLabelintmain(intargc,
char**argv){QApplicationapp(argc,
argv);QLabel*label=newQLabel("<palign=centerHello,
World!</p");label-show();returnapp.
exec();}第三步:設置編譯選項
Projects標簽
- Run 展開Package configurations,選擇Android target
SDK,(android7為例)
展開緊跟下面的Deploy configurations,選擇Deploy local qt
libs
然後按左邊倒數第三個綠色三角按鈕運行:
第四步:手機上運行
你寫的應用會打包成apk放在你項目文件夾里的/android/bin裡面.把它拷到手機上安裝.但是這樣手機還不能運行這個程序,畢竟Android系統沒有Qt的庫.這個時候你就需要Ministro,一個為Android系統Qt程序運行下載所需要的庫.可以到電子市場搜索Ministro,或者到Ministro項目里下載:Ministro
.安裝好Ministro後再運行Qt程序,根據提示下載需要的庫.
⑨ Linux下Qt編程有前途嗎
做什麼,做好了都有前途.
Qt是C++上的GUI技術,Qt現在也有了IDE和一些類庫,不過,主要還是GUI。該GUI是跨平台的。在Linux,windows,mac,android等等平台上都可以運行Qt。
而且,Qt的GUI接近於.net和java,形式優美。相比起來,同樣開源的wxWidget類似於MFC,同樣開源的GTK採用了C風格。
在三大開源,跨平台的GUI:wxWidget,Qt,GTK中,我還是更喜歡Qt。
⑩ linux下使用QT開發android, 無法生成apk文件,提示 target id 未找到, 但是明明已經設置過id 了!
我也遇到這個問題,不過我選擇工程,右鍵,Run qmake, 接著rebuilt 就可以了。你也可以這樣試一下。