• How to compile Android 2.3 on Ubuntu 10.04 32bit



    官方编译环境: 
    Ubuntu 10.04 64bit 
    64-bit Sun JDK

    本文编译环境: 
    Ubuntu 10.04 32bit 
    32-bit Sun JDK

    参考:

    http://source.android.com/source/download.html

    安装java1.6

    met issues 
    1:issue "You are attempting to build on a 32-bit system"

    How to fix: 
    $ vim build/core/main.mk 
    change 
    ifneq (64,$(findstring 64,$(build_arch))) 
    to 
    ifneq (i686,$(findstring i686,$(build_arch))) 
    $(warning ************************************************************) 
    $(warning You are attempting to build on a 32-bit system.) 
    $(warning Only 64-bit build environments are supported beyond froyo/2.2.) 
    $(warning ************************************************************) 
    $(error stop) 
    endif


    external/clearsilver/cgi/Android.mk, 
    external/clearsilver/java-jni/Android.mk, 
    external/clearsilver/util/Android.mk, 
    external/clearsilver/cs/Android.mk

    change 
    LOCAL_CFLAGS += -m64 
    LOCAL_LDFLAGS += -m64 
    to 
    LOCAL_CFLAGS += -m32 
    LOCAL_LDFLAGS += -m32


    2:issue "host C: libclearsilver-jni <= external/clearsilver/java-jni/j_neo_util.c 
    In file included from /usr/include/features.h:378, 
                     from /usr/include/string.h:26, 
                     from external/clearsilver/java-jni/j_neo_util.c:1: 
    /usr/include/gnu/stubs.h:9:27: error: gnu/stubs-64.h: 没有那个文件或目录 
    make: *** [out/host/linux-x86/obj/SHARED_LIBRARIES/libclearsilver-jni_intermediates/j_neo_util.o]错误"

    How to fix: 
    sudo apt-get install lib64z1-dev libc6-dev-amd64 g++-multilib lib64stdc++6


    3:issue: 
    host SharedLib: libneo_util (out/host/linux-x86/obj/lib/libneo_util.so) 
    /usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.3.4/libstdc++.so when searching for -lstdc++ 
    /usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.3.4/libstdc++.a when searching for -lstdc++ 
    /usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.3.4/libstdc++.so when searching for -lstdc++ 
    /usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.3.4/libstdc++.a when searching for -lstdc++ 
    /usr/bin/ld: cannot find -lstdc++ 
    collect2: ld returned 1 exit status 
    make: *** [out/host/linux-x86/obj/lib/libneo_util.so] Error 1

    How to fix:

    4 
    frameworks/base/core/java/android/app/ListActivity.java:319: inconvertible types 
    found : android.widget.AdapterView<capture of ?> 
    required: android.widget.ListView 
    onListItemClick((ListView)parent, v, position, id); 

    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.

    How to fix: 
    其实JDK的版本低了,用了1.5.0_06的版本,用1.6就可以了

    5 arm-eabi-4.4.3

    prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc -mthumb-interwork -Ibionic/libc/private -o out/target/product/generic/obj/lib/crtbegin_dynamic.o -c bionic/libc/arch-arm/bionic/crtbegin_dynamic.S

    prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: /lib/tls/i686/cmov/libc.so.6: version `GLIBC_2.11' not found (required by prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc)

    make: *** [out/target/product/generic/obj/lib/crtbegin_dynamic.o] 错误 1

    这是在32位Ubuntu上编译引起的arm-eabi-4.4.3版本问题,所以需要修改arm-eabi-4.4.0:

    $ mv arm-eabi-4.4.3 to arm-eabi-4.4.3.old

    $ ln -s arm-eabi-4.4.0 arm-eabi-4.4.3


    Reference: 
    http://iopenfree.appspot.com/?p=4001 
    http://0123.blog.163.com/blog/static/478831201061214128901/

  • 相关阅读:
    事务的传播特性及事务的并发
    Spring 配置文件配置事务
    Spring 配置文件AOP
    Spring 注解形式AOP
    Spring与Junit测试整合
    Spring基础知识1--环境搭建、bean创建、依赖注入、注解注入
    JDK动态代理与CGLIB动态代理
    java.lang.illegalArgumentException异常
    计算器
    list
  • 原文地址:https://www.cnblogs.com/wanqieddy/p/2106669.html
Copyright © 2020-2023  润新知