Android_6.0 ROM(Kernel + Android)编译 ERROR总结
-------------------------------------------------------------------------------------------------------------
Build Kernel ERROR 总结:
对 ROM 编译不陌生的"同行"应该了解,在第一次编译 ROM 时,在编译 System image 之前,编译Kernel 是必经的一步;
通常在 ROM 版本迭代中,由于驱动的更改,也需要重新编译Kernel ,
--------------------------------------------------------------------------------------------------------------
Error 1:
root@lianluo_android:/home/mops/rk3288_6.0/kernel# make rk3288-tb_8846.img
......
CC scripts/mod/devicetable-offsets.s
GEN scripts/mod/devicetable-offsets.h
HOSTCC scripts/mod/file2alias.o
HOSTLD scripts/mod/modpost
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
make[1]: 'include/generated/mach-types.h' is up to date.
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
BC kernel/timeconst.h
/bin/sh: 1: bc: not found
/home/mops/rk3288_6.0/kernel/kernel/Makefile:141: recipe for target 'kernel/timeconst.h' failed
make[1]: *** [kernel/timeconst.h] Error 127
Makefile:829: recipe for target 'kernel' failed
make: *** [kernel] Error 2
解决方案:
# apt-get install bc
---------------------------------------------------------------------------------------
Error 2:
root@lianluo_android:/home/mops/rk3288_6.0/kernel# make rk3288-tb_8846.img
......
LD pie/pie_stage2.o
OBJCOPY pie/pie_stage3.o
LD pie/pie.elf
OBJCOPY pie/pie.bin
OBJCOPY pie/pie.bin.o
LD pie/built-in.o
GEN .version
CHK include/generated/compile.h
UPD include/generated/compile.h
CC init/version.o
LD init/built-in.o
KSYM .tmp_kallsyms1.o
KSYM .tmp_kallsyms2.o
LD vmlinux
SORTEX vmlinux
SYSMAP System.map
OBJCOPY arch/arm/boot/Image
Kernel: arch/arm/boot/Image is ready
AS arch/arm/boot/compressed/head.o
LZO arch/arm/boot/compressed/piggy.lzo
/bin/sh: 1: lzop: not found
/home/mops/rk3288_6.0/kernel/arch/arm/boot/compressed/Makefile:196: recipe for target 'arch/arm/boot/compressed/piggy.lzo' failed
make[2]: *** [arch/arm/boot/compressed/piggy.lzo] Error 1
/home/mops/rk3288_6.0/kernel/arch/arm/boot/Makefile:53: recipe for target 'arch/arm/boot/compressed/vmlinux' failed
make[1]: *** [arch/arm/boot/compressed/vmlinux] Error 2
/home/mops/rk3288_6.0/kernel/arch/arm/Makefile:304: recipe for target 'zImage' failed
make: *** [zImage] Error 2
解决方案:
# apt-get install lzop
-------------------------------------------------------------------------------------
Error 3:
root@lianluo_android:/home/mops/rk3288_6.0/kernel# make rk3288-tb_8846.img
scripts/kconfig/conf --silentoldconfig Kconfig
^C
root@lianluo_android:/home/mops/rk3288_6.0/kernel# make rk3288-tb_8846.img
CC scripts/mod/devicetable-offsets.s
GEN scripts/mod/devicetable-offsets.h
HOSTCC scripts/mod/file2alias.o
HOSTLD scripts/mod/modpost
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
GEN drivers/video/rockchip/screen/lcd.h
Kernel: arch/arm/boot/Image is ready
LD arch/arm/boot/compressed/vmlinux
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
make: *** [kernel.img] Error 127
解决方案:
#sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
--------------------------------------------------------------------------------------
注意:
Android 6.0的 java 环境必须是 openjdk-7-jdk,否则导致报出ERROR,编译失败.
(亲测:openjdk-8-jdk 也不行,可能以后会适配)
解决方案:
#sudo apt-get install openjdk-7-jdk
#PATH=/usr/lib/jvm/java-7-openjdk-amd64/bin:$PATH
-------------------------------------------------------------------------------------
Build Android ERROR 总结:
Error1:
root@lianluo_android:/home/mops/rk3288_6.0/# make -j8
......
Notice file: external/jarjar/NOTICE -- out/host/linux-x86/obj/NOTICE_FILES/src//framework/jarjar.jar.txt
Yacc: aidl <= frameworks/base/tools/aidl/aidl_language_y.y
prebuilts/misc/linux-x86/bison/bison -d -o out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp frameworks/base/tools/aidl/aidl_language_y.y
Notice file: frameworks/base/tools/aidl/NOTICE -- out/host/linux-x86/obj/NOTICE_FILES/src//bin/aidl.txt
Lex: aidl <= frameworks/base/tools/aidl/aidl_language_l.l
make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp] Broken pipe
make: *** Waiting for unfinished jobs....
flex-2.5.39: fatal internal error, exec of /usr/bin/m4 failed
frameworks/base/tools/aidl/aidl_language_l.l:55: warning, rule cannot be matched
make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_l.cpp] Broken pipe
make: *** Deleting file `out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_l.cpp'
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
解决办法:
#sudo apt-get install bison
------------------------------------------------------------------------------------------------
Error2:
root@lianluo_android:/home/mops/rk3288_6.0/# make -j8
Copy: out/target/product/rk3288/system/etc/.allBlock
Copy: out/target/product/rk3288/system/etc/.videoBlock
Copy xml: out/target/product/rk3288/system/etc/GS8604.xml
/bin/bash: xmllint: command not found
make: *** [out/target/product/rk3288/system/etc/GS8604.xml] Error 127
make: *** Waiting for unfinished jobs....
preparing StaticLib: libc_common [including out/target/product/rk3288/obj/STATIC_LIBRARIES/libc_thread_atexit_impl_intermediates/libc_thread_atexit_impl.a]
preparing StaticLib: libc_common [including out/target/product/rk3288/obj/STATIC_LIBRARIES/libc_tzcode_intermediates/libc_tzcode.a]
target StaticLib: libc_common (out/target/product/rk3288/obj/STATIC_LIBRARIES/libc_common_intermediates/libc_common.a)
#### make failed to build some targets (2:55 (mm:ss)) ####
解决方法:
#sudo apt-get install libxml2-utils
-------------------------------------------------------------------------------------
编译成功会出现类似如下LOG, 并显示编译所用时长:
Warning: AndroidManifest.xml already defines versionCode (in http://schemas.android.com/apk/res/android); using existing value in manifest.
Warning: AndroidManifest.xml already defines minSdkVersion (in http://schemas.android.com/apk/res/android); using existing value in manifest.
Warning: AndroidManifest.xml already defines targetSdkVersion (in http://schemas.android.com/apk/res/android); using existing value in manifest.
Install: out/target/product/rk3288/system/app/Email/Email.apk
Install: out/target/product/rk3288/system/priv-app/Settings/Settings.apk
build/tools/generate-notice-files.py out/target/product/rk3288/obj/NOTICE.txt out/target/product/rk3288/obj/NOTICE.html "Notices for files contained in the filesystem images in this directory:" out/target/product/rk3288/obj/NOTICE_FILES/src
Combining NOTICE files into HTML
Combining NOTICE files into text
Installed file list: out/target/product/rk3288/installed-files.txt
Target system fs image: out/target/product/rk3288/obj/PACKAGING/systemimage_intermediates/system.img
Running: mkuserimg.sh -s out/target/product/rk3288/system out/target/product/rk3288/obj/PACKAGING/systemimage_intermediates/system.img ext4 system 1073741824 -D out/target/product/rk3288/system -L system out/target/product/rk3288/root/file_contexts
make_ext4fs -s -T -1 -S out/target/product/rk3288/root/file_contexts -L system -l 1073741824 -a system out/target/product/rk3288/obj/PACKAGING/systemimage_intermediates/system.img out/target/product/rk3288/system out/target/product/rk3288/system
Creating filesystem with parameters:
Size: 1073741824
Block size: 4096
Blocks per group: 32768
Inodes per group: 8192
Inode size: 256
Journal blocks: 4096
Label: system
Blocks: 262144
Block groups: 8
Reserved block group size: 63
Created filesystem with 1978/65536 inodes and 120827/262144 blocks
Install system fs image: out/target/product/rk3288/system.img
out/target/product/rk3288/system.img+out/target/product/rk3288/obj/PACKAGING/recovery_patch_intermediates/recovery_from_boot.p maxsize=1096212480 blocksize=135168 total=479642035 reserve=11083776
#### make completed successfully (18:56 (mm:ss)) ####