android純c開發
① Android能用純C/C++開發嗎
目前截止到2.3系統來看,最終安裝的文件仍然是apk格式,界面和系統大多數功能均使用java開發,但是稍微高端的應用考慮到性能和安全性使用
C/C++是必要的,C/C++最終編譯的so文件就相當於Windows下的dll動態庫,需要一個宿主去載入調用,我們通過Java的JNI去調用這些本地方法,目前從NDK的版本來看Google不斷增強和開放C++在Android開發的用處,以保證和iPhone這種使用本地語言開發出來的軟體體驗度不能差距太大。
② android用純C、C++開發與java開發比,內存、性能有多大差別
內存不受VM限制,性能要看你涉及哪些。java也有很多方法是NATIVE實現的,就是為了提高性能。
③ Android現在到底支不支持純C語言開發第三方應用
可以使用C做第三方開發。
但是有幾個問題:
1 C介面在圖形界面上支持的不太好,所以用純C,做界面會很惡心。
2 C語言編譯依賴於編譯器,而不同平台編譯器不同,所以無法做到通用。也就是說,用C編出來的一個bin文件,只能用於一個型號或者一系列型號的。 對推廣很不利。
3 C編譯的文件,要想運行,在當前安卓架構中,添加很不方便。
由於以上幾個原因,很少有用C來做開發應用的。反而是C++,有一些人在用QT做可移植開發
④ 關於 Android C語言 開發
剛好最近我正在學習android可以幫到你。
1.JAVA開發是Android的應用部分
2.C/C++語言開發是Android核心的部分
Android的C語言其實是指的Android底層的Linux內核開發,剛好你是學習Linux C語言的這樣就有用武之地。Android的底層是由Linux開發的,並建立在Linux之上的JAVA虛擬機來實現的。
所以要學習Android C語言的開發,建議看看《Android系統原理及開發要點詳解》著本書講的內容都是底層的內容,一定要買。不過JAVA語言的部分也一定要看,因為C語言做的驅動最後還是需要被JAVA虛擬機調用。
另外要做AndroidC語言開發還需要注意一下幾點:
1.需要購買開發板來學習,或者開源的手機,這樣可以直觀的了解驅動的運作模式和有效調試
2.需要下載android源代碼,因為Android SDK開發是不會用到C語言的
3.android的NDK開發其實也是C/C++語言調用一些函數來實現,建議也看
4.最後這個網址可以去看,多是講底層資料的:http://bbs.starandroid.com/showtopic.aspx?topicid=10712&page=end
建議:
1.JAVA還是要看的
2.建議往Android底層硬體開發走
⑤ 基於android平台開發上用C語言可以開發什麼程序
android上現在有兩個方向,一個是基於SDK的開發,主要是
用JAVA,另外一個就是NDK的開發,主要語言就是C、C++,C,C++可以再在android中做第三方的開發,人才急缺,主要是將一些功能本地化。
⑥ android 可以用c開發嗎
Android 支持C開發,主要是通過NDK來實現,交叉編譯,目前除界面外的功能大部分都能實現。
⑦ Android中可以用C直接開發嗎不用JAVA,JNI也不行,不想被反編譯
可以的,底層原本就是C的,可以直接跨過JAVA層,但是挺麻煩
可以不用JNI,直接從動態連接庫啟動,但是NDK還是要用的,編譯方便
⑧ 如何用 純C++開發安卓應用
純C++,你想多的。
除非你從頭開始寫系統api。
沒有android給你提供的api,或者別人提供的類庫,你用純C++自己實先去。
C/C++ 開發android,可以使用NDK;
Android NDK 是在SDK前面又加上了「原生」二字,即Native Development Kit,因此又被Google稱為「NDK」。
眾所周知,Android程序運行在Dalvik虛擬機中,NDK允許用戶使用類似C / C++之類的原生代碼語言執行部分程序。
NDK包括了:
從C / C++生成原生代碼庫所需要的工具和build files。
將一致的原生庫嵌入可以在Android設備上部署的應用程序包文件(application packages files ,即.apk文件)中。
支持所有未來Android平台的一系列原生系統頭文件和庫
為何要用到NDK?
概括來說主要分為以下幾種情況:
1. 代碼的保護,由於apk的java層代碼很容易被反編譯,而C/C++庫反匯難度較大。
2. 在NDK中調用第三方C/C++庫,因為大部分的開源庫都是用C/C++代碼編寫的。
3. 便於移植,用C/C++寫的庫可以方便在其他的嵌入式平台上再次使用。
2、或者使用Qt for android。使用qt提供的C++類庫(加上了Qt自己的特性)開發andriod
不過建議對C/C++非常熟練才用C/C++開發。不然內存溢出呵呵。
不是浸淫C++技術的高手的話,老老實實學java或者go吧。