編譯Android源碼和Linux內核源碼時候遇到的一些錯誤

1. Ubuntu下執行命令 "adb reboot bootloader“ 或者 "adb start-server"得到如下錯誤:

 

error: device not found

原因1 可能是沒有加usb 規則:
創建文件/etc/udev/rules.d/51-android.rules
在文件中加入:
#HTC phone
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
#Google
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"
其它品牌手機編碼在這個地方
http://developer.android.com/guide/developing/device.html#VendorIds

原因2 可能是手機沒有設置允許usb debugger模式
Settings->Applications->Development->USB debugging選中

2. 運行“adb devices” 得到如下錯誤:

 

List of devices attached 

????????????  no permissions

原因是沒有使用root用戶啓動adb.

#sudo passwd root  //如果沒有設置root的密碼

#su

#cd out/host/linux-x86/bin

#./adb kill-server

#./adb start-server

#exit

再運行錯誤就沒了。

 

3. 各種各樣的no permission錯誤

#su

使用root用戶來執行命令

另外要設置好PATH=/home/<user>/<android source root>/out/host/linux-x86/bin/:$PATH

 

4. fastboot -p passion -w flashall 獲得如下錯誤

 

error: could not load android-info.txt

原因是沒有unlock設備:
執行命令: fastboot oem unlock
用聲音鍵選YES, 重啓並且按住power和小白點進入fastboot模式。

5. build linux kernel的錯誤
cc1: error: unrecognized command line option "-mlittle-endian"
cc1: error: unrecognized command line option "-mapcs"
cc1: error: unrecognized command line option "-mno-sched-prolog"
cc1: error: unrecognized command line option "-mabi=aapcs-linux"
cc1: error: unrecognized command line option "-mno-thumb-interwork"
arch/arm/kernel/asm-offsets.c:1: error: bad value (armv5t) for -march= switch
arch/arm/kernel/asm-offsets.c:1: error: bad value (strongarm) for -mtune= switch

原因是CROSS_COMPILER路徑沒有設置正確
make ARCH=arm CROSS_COMPILE=~/<android source>/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
對此做下補充
也可以這部分可以添加到.bashrc文件中,配置成全局變量--by scott

6. implicit declaration of function 'kfree'
加入頭文件 Linux/slab.h
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章