zoukankan      html  css  js  c++  java
  • android 源码编译 问题 列表

       近期在进行android源码编译,环境搭建神码痛苦不堪,在编译过程中更是错误不断,想想在windows环境下习惯了,切换到ubuntu上来操作,真真到一时难以适应。

       各位看官,下面问题是出现在-------环境已经正确配置完成,执行make时出现的错误以及解决办法。希望能对大家有所帮助。

        首先说一下,目前环境搭建/系统版本/android版本,

          环境搭建 :大家可以按照官网, source.android.com ,执行。

          系统版本: ubuntu 12.10  32位系统

      android版本 4.0.1r1

      jdk:1.6(这里大家注意,编译android )

          注:1.因为我安装系统语言位中文,如果大家到系统版本位英文 提示错误信息中 “错误” 会为“error”。

                 2.以下说多少行,可能会不一样,可以通过查找定位。我使用的grepedit,.

       一. make: *** [out/host/linux-x86/obj/EXECUTABLES/emugen_intermediates/main.o] 错误 1

           或者 make: *** [out/host/linux-x86/obj/EXECUTABLES/emugen_intermediates/main.o] error 1

            解决办法: 需要在  development/tools/emulator/opengl/host/tools/emugen/main.cpp

                在声明中增加一条头文件声明

                #include <getopt.h>

    二. frameworks/base/include/utils/KeyedVector.h:193:31: 错误: ‘indexOfKey’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]

       或者 frameworks/base/include/utils/KeyedVector.h:193:31: error: ‘indexOfKey’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]

       解决办法:在 development/tools/emulator/opengl/Android.mk

        增加  '-fpermissive' 到25行:
           EMUGL_COMMON_CFLAGS := -DWITH_GLES2 -fpermissive

    三.  make: *** [out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/AaptAssets.o] 错误 1

        或者 make: *** [out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/AaptAssets.o] Error 1

       解决办法:  frameworks/base/tools/aapt/Android.mk

           在第31行增加:
           LOCAL_CFLAGS += -Wno-format-y2k -fpermissive

    四. make: *** [out/host/linux-x86/obj/EXECUTABLES/obbtool_intermediates/Main.o] 错误 1

        make: *** [out/host/linux-x86/obj/EXECUTABLES/obbtool_intermediates/Main.o] error 1

        解决办法:系版本高,在配置环境的时候,gcc安装了高到版本,所以gcc版本太高导致,需要降低gcc版本级别。

        ubuntu 32bit系统下安装gcc 4.4的最好方法是仅用以下两条命令,不需要其它命令,否则编译时可能会出错。

         sudo apt-get install gcc-4.4

        sudo apt-get install g++-4.4

       操作过程见:

     gcc降级:

      sudo rm -rf /usr/bin/gcc

      sudo ln -s /usr/bin/gcc-4.4 /usr/bin/gcc

       gcc -v

    g++降级

       sudo rm -rf /usr/bin/g++

      sudo ln -s /usr/bin/g++-4.4 /usr/bin/g++

       g++ -v 

    演示过程:

    View Code
     1 cxl@cxl:/usr/lib$ gcc -v
     2 使用内建 specs。
     3 COLLECT_GCC=gcc
     4 COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/4.7/lto-wrapper
     5 目标:i686-linux-gnu
     6 配置为:../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.7.2-2ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu
     7 线程模型:posix
     8 gcc 版本 4.7.2 (Ubuntu/Linaro 4.7.2-2ubuntu1) 
     9 cxl@cxl:/usr/lib$ ls -l gcc
    10 总用量 8
    11 drwxr-xr-x 3 root root 4096  4月  1 21:25 i586-mingw32msvc
    12 drwxr-xr-x 4 root root 4096  4月  2 10:46 i686-linux-gnu
    13 cxl@cxl:/usr/lib$ sudo mv gcc gcc.bak
    14 cxl@cxl:/usr/lib$ sudo ln -s gcc-4.4 gcc
    15 cxl@cxl:/usr/lib$ gcc -v
    16 使用内建 specs。
    17 COLLECT_GCC=gcc
    18 目标:i686-linux-gnu
    19 配置为:../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.7.2-2ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu
    20 线程模型:posix
    21 gcc 版本 4.7.2 (Ubuntu/Linaro 4.7.2-2ubuntu1) 
    22 cxl@cxl:/usr/lib$ clear
    23 
    24 cxl@cxl:/usr/lib$ ls -l gcc*
    25 lrwxrwxrwx 1 root root    7  4月  2 11:05 gcc -> gcc-4.4
    26 
    27 gcc.bak:
    28 总用量 8
    29 drwxr-xr-x 3 root root 4096  4月  1 21:25 i586-mingw32msvc
    30 drwxr-xr-x 4 root root 4096  4月  2 10:46 i686-linux-gnu
    31 cxl@cxl:/usr/lib$ gcc -v
    32 使用内建 specs。
    33 COLLECT_GCC=gcc
    34 目标:i686-linux-gnu
    35 配置为:../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.7.2-2ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu
    36 线程模型:posix
    37 gcc 版本 4.7.2 (Ubuntu/Linaro 4.7.2-2ubuntu1) 
    38 cxl@cxl:/usr/lib$ rm -rf /usr/bin/gcc
    39 rm: 无法删除"/usr/bin/gcc": 权限不够
    40 cxl@cxl:/usr/lib$ sudo rm -rf /usr/bin/gcc
    41 cxl@cxl:/usr/lib$ sudo ln -s /usr/bin/gcc-4.4 /usr/bin/gcc
    42 cxl@cxl:/usr/lib$ gcc -v
    43 Using built-in specs.
    44 Target: i686-linux-gnu
    45 Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.4.7-2ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran --prefix=/usr --program-suffix=-4.4 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu
    46 Thread model: posix
    47 gcc version 4.4.7 (Ubuntu/Linaro 4.4.7-2ubuntu1) 
    View Code
    cxl@cxl:/usr/lib$ g++ -v
    使用内建 specs。
    COLLECT_GCC=g++
    目标:i686-linux-gnu
    配置为:../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.7.2-2ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu
    线程模型:posix
    gcc 版本 4.7.2 (Ubuntu/Linaro 4.7.2-2ubuntu1) 
    cxl@cxl:/usr/lib$ sudo rm -rf /usr/bin/g++
    cxl@cxl:/usr/lib$ sudo ln -s /usr/bin/g++-4.4 /usr/bin/g++
    cxl@cxl:/usr/lib$ g++ -v
    Using built-in specs.
    Target: i686-linux-gnu
    Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.4.7-2ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran --prefix=/usr --program-suffix=-4.4 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu
    Thread model: posix
    gcc version 4.4.7 (Ubuntu/Linaro 4.4.7-2ubuntu1)

    五.make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libutils_intermediates/AssetManager.o] 错误 1

        或者 make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libutils_intermediates/AssetManager.o] Error 1
       
        解决办法:在 frameworks/base/libs/utils/Android.mk
       
      在第60行后面增加-fpermissive:   
        
           LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) -fpermissive
     
    六. make: *** [out/host/linux-x86/obj/EXECUTABLES/grxmlcompile_intermediates/grxmlcompile.o] 错误 1
        或者 make: *** [out/host/linux-x86/obj/EXECUTABLES/grxmlcompile_intermediates/grxmlcompile.o] Error 1
    解决办法:cd external/srec
       复制拷贝下面的命令到终端:
         wget "https://github.com/CyanogenMod/android_external_srec/commit/4d7ae7b79eda47e489669fbbe1f91ec501d42fb2.diff"
         patch -p1 < 4d7ae7b79eda47e489669fbbe1f91ec501d42fb2.diff
        rm -f 4d7ae7b79eda47e489669fbbe1f91ec501d42fb2.diff
        cd ../..
     
    七. make: *** [/home/arun/cm10.1/out/target/product/s100/obj/STATIC_LIBRARIES/libwebcore_intermediates/Source/WebCore/bindings/V8CSSCharsetRule.h] 错误 1
       或者make: *** [/home/arun/cm10.1/out/target/product/s100/obj/STATIC_LIBRARIES/libwebcore_intermediates/Source/WebCore/bindings/V8CSSCharsetRule.h] Error 1
       解决办法:sudo apt-get install libdigest-md5-file-perl
     
    八. make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp.o] 错误 1
         或者 make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp.o] error 1
      解决办法:

     
     


     

  • 相关阅读:
    大数据量问题,按需按实际查询而不是一次加载。
    spring中注解事务认识
    sqlmap文件在tomcat7中运行报错原因及<![CDATA[ ]]>
    网站404,500错误页面的处理,及500异常写入errorLog日志
    javascript div z-index, input tabindex属性说明
    sqlmap映射继承机制及映射字段顺序与SQL查询字段顺序无关
    jquery类选择器无法取得对象问题原因
    linux服务器初步印象,远程连接mysql数据库,传输文件,启动/关闭tomcat命令
    Linux iptables 防火墙详解
    Nginx之location 匹配规则详解
  • 原文地址:https://www.cnblogs.com/xilinch/p/2996359.html
Copyright © 2011-2022 走看看