本文目錄一覽:
C語言與安卓開發有什麼關係。
安卓的底層使用的是C語言開發的
所以會使用到C語言
另外安卓在嵌入式控制系統中
使用軟體控制嵌入式系統的時候會使用到NDK技術
這裡面也會使用到C語言開發
Android上如何用C語言編程
害哥搞這個離線包搞了個把小時。為了清楚,上個圖: 敲個LS,什麼東西都沒有,這個目錄是cygwin的安裝目錄下面的home文件夾下的用戶名文件夾。接下來是配置與Android相關的。在home/用戶名,這個文件夾下有一個文件為.bash_profile,打開它,到最後添加兩行NDK的環境變數:NDK_ROOT=/cygdrive/d/android-ndk-r6export NDK_ROOT上面的意思是,ndk的目錄是,d:/android-ndk-r6添加完之後,關閉Cygwin重新啟動一下,然後敲入cd $NDK_ROOT,是否進入到ndk的目錄了?否則就看看哪個字母錯了。在ndk的目錄下samples下有很多例子,隨便弄個就可編譯了。下面是新建一個項目,以對C語言在項目中的位置更清楚。打開Eclipse新建一個Android項目,取名hellojni,為了清晰,便於維護,及各種各樣的好處,JNI的JAVA代碼單獨一個類,單獨一個包。其實最好能不用JNI就別用JNI,這東西負作用巨大,特別是在用到JNI複雜的地方,什麼內存啊,類型啊,哪裡調用的方法,異常啊,可靠性都非常麻煩。非要用JNI的複雜功能,做好兩件事,做之前充分設計,設計之前充分學習一下JNI文檔。當然對於一些簡單的應用,那隻需要充分仔細。作好參數,返回值的檢查,記得釋放內存就行了。
如何在Android系統上運行C語言的程序
在Android系統上運行C語言的程序的方法:
1. 查看可執行文件xlisten-arm所需要的動態鏈接庫:
執行語句:
2. 將程序編譯的時候選擇靜態編譯,即使用選項 -static
對Makefile文件中的CFLAG變數進行修改:
CFLAGS = -Wall
改為:
CFLAGS = -Wall -static
3. 在Makefile中,修改LIBS變數:
LIBS = -lsqlite3 -lm -lcrypt
改為:
LIBS = -lsqlite3 -lm -lcrypt -lpthread -ldl
然後進行交叉編譯,成功了!
4. 編譯出來的可執行文件比較大,因為事靜態編譯的,有2M多,
拷貝到開發板的andriod系統中,
修改許可權:
#chmod 777 xlisten-arm
5. 執行:
/ # ./xlisten-arm
這樣就能夠正確的執行了!
Android系統簡介:
Android是一種基於Linux的自由及開放源代碼的操作系統,主要使用於移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發。尚未有統一中文名稱,中國大陸地區較多人使用「安卓」或「安致」。Android操作系統最初由Andy Rubin開發,主要支持手機。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/244887.html