想要在x86下編寫一個c源文件測試手機某些功能,交叉編譯後放到展訊手機中運行測試。那麼問題來了,好像僅僅使用交叉編譯器arm-eabi-gcc編譯c文件總是出錯,原因是依賴某些庫,同事告訴我要在安卓源碼中編譯才行。
一。在安卓項目根目錄下新建test目錄,編寫好源文件test.c後放到test目錄下,編寫Android.mk文件如下(相當與mkfile)。
二,在安卓項目下執行#source build/envsetup.sh 讀取各個board的vendorsetup.sh
選定開發板的配置,去選擇要編譯的對象,我是展訊平臺的,#lunch 63(項目編號,你們自己搞自己的)。
#kheader 安裝kernel header給android編譯
至此,已經有了編譯環境(編譯工具等已經設置好了)
進入 test目錄,執行mm命令。就可以單獨編譯test.c文件了。可執行文件會輸出到out啥目錄的。
三。把文件傳輸到手機中
這個是adb命令的使用,應該不用多說。
1 #sudo adb start-server (如果不加sudu我是不能成功啓動)
2 #adb shell (啓動adb shell ,前提鏈接手機且usb調試打開)
3 #su (使用root權限)
在電腦上已經進入adb的shell界面了,打開電腦的另一個終端,把我們的可執行文件傳出到手機中。
#adb push test 可執行文件路徑 /data (把剛纔生成的test二進制文件傳輸到手機的data目錄)