• 64位Ubuntu编译android的环境配置问题


     下载了Android的最新版本4.2.1,用以前的方式将-m64替换为-m32行不通了,正好笔记本上还有一块闲置硬盘,笔记本又是64位的。干脆就在闲置硬盘上装个64位的,下载完64位镜像后,用U盘制作了安装盘,不到半小时就装好了,按照以前的方式安装了开发编译环境,在编译官方的4.2.1代码时,很快出现如下错误:

    PRODUCT_COPY_FILES frameworks/base/data/sounds/ringtones/ogg/Solarium.ogg:system/media/audio/ringtones/Solarium.ogg ignored.
    host C: acp <= build/tools/acp/acp.c
    prebuilts/tools/gcc-sdk/../../gcc/linux-x86/host/i686-linux-glibc2.7-4.6/bin/i686-linux-gcc
    prebuilts/tools/gcc-sdk/gcc: line 40: prebuilts/tools/gcc-sdk/../../gcc/linux-x86/host/i686-linux-glibc2.7-4.6/bin/i686-linux-gcc: No such file or directory
    make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp.o] Error 127

    在网上google一番,有遇到类似问题,但没有答案。自己分析 解决。看了下prebuilts/tools/gcc-sdk/gcc,里面的脚本提示 prebuilts/tools/gcc-sdk/../../gcc/linux-x86/host/i686-linux-glibc2.7-4.6/bin/i686-linux-gcc出错,ls一下,这个文件是存在的,但为何提示没有呢?那我干脆执行一下,原来提示同样的错误:

    bill@Ubuntu:~/android-4.2.1_r1$ prebuilts/tools/gcc-sdk/../../gcc/linux-x86/host/i686-linux-glibc2.7-4.6/bin/i686-linux-gcc -v
    bash: prebuilts/tools/gcc-sdk/../../gcc/linux-x86/host/i686-linux-glibc2.7-4.6/bin/i686-linux-gcc: No such file or directory

    再用file和ldd一看,原来是32位的可执行程序,32位的不能在64位机器上执行的缘故:
    bill@Ubuntu:~/android-4.2.1_r1$ file prebuilts/tools/gcc-sdk/../../gcc/linux-x86/host/i686-linux-glibc2.7-4.6/bin/i686-linux-gcc
    prebuilts/tools/gcc-sdk/../../gcc/linux-x86/host/i686-linux-glibc2.7-4.6/bin/i686-linux-gcc: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, stripped
    bill@Ubuntu:~/android-4.2.1_r1$ ldd prebuilts/tools/gcc-sdk/../../gcc/linux-x86/host/i686-linux-glibc2.7-4.6/bin/i686-linux-gcc
    not a dynamic executable

    后在同事帮助下(其64位机器上上述32位的工具链可以正常运行),修改了prebuilts/tools/gcc-sdk/gcc,让其直接调用64位的工具链,但出现其它库头文件缺少的错误。对照http://source.android.com/source/initializing.html的官方指南,原来某些库没有安装,象32位程序在64位机器上运行必须有ia32-libs才行:

    sudo apt-get install ia32-libs (http://maketecheasier.com/run-32-bit-apps-in-64-bit-linux/2009/08/10)

    按照Google的官方指南,补齐缺少的库,Android4.2.1编译开始呼呼地build起来了并顺利build完成。

  • 相关阅读:
    Qt QListWidgetItem的添加与删除
    Qt QListWidget中实现每个单元项显示文字在上图片在下
    Qt QListWiget的Item的icon大小设置
    Qt 控制Widget窗体大小方法
    装饰模式(Decorator)C++实现
    C++ 结构型模式
    Qt 创建一个excel文件(通过save as 方法)
    深度学习之 YOLO v1,v2,v3详解
    Qt excel 操作使用说明
    “云钉一体”背后,阿里云希望改变什么?
  • 原文地址:https://www.cnblogs.com/tairikun/p/3383102.html
Copyright © 2020-2023  润新知