Android_6.0 ROM(Kernel + Android)编译 ERROR总结

来源:互联网 发布:网络创业项目 编辑:程序博客网 时间:2024/06/02 00:58
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)) ####
1 0