`

编译Android源代码常见错误解决办法

阅读更多

1. 编译时出现/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../libz.so when searching for -lz

  1. PLATFORM_VERSION_CODENAME=AOSP
  2. PLATFORM_VERSION=AOSP
  3. TARGET_PRODUCT=generic
  4. TARGET_BUILD_VARIANT=eng
  5. TARGET_SIMULATOR=
  6. TARGET_BUILD_TYPE=release
  7. TARGET_BUILD_APPS=
  8. TARGET_ARCH=arm
  9. TARGET_ARCH_VARIANT=armv5te
  10. HOST_ARCH=x86
  11. HOST_OS=linux
  12. HOST_BUILD_TYPE=release
  13. BUILD_ID=OPENMASTER
  14. ============================================
  15. host Executable: aapt (out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/aapt)
  16. /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../libz.so when searching for -lz
  17. /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../libz.a when searching for -lz
  18. /usr/bin/ld: skipping incompatible //usr/lib/libz.so when searching for -lz
  19. /usr/bin/ld: skipping incompatible //usr/lib/libz.a when searching for -lz
  20. /usr/bin/ld: cannot find -lz
  21. collect2: ld returned 1 exit status
  22. make: *** [out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/aapt] Error 1
复制代码

解决办法:缺少lib32z1-dev,安装 即可:apt-get install lib32z1-dev

2.   [android]编译时出现 /usr/include/gnu/stubs.h:7: fatal error: gnu/stubs-32.h: No such file or directory 错误信息
    编译时出现 /usr/include/gnu/stubs.h:7: fatal error: gnu/stubs-32.h: No such file or directory

  1. PLATFORM_VERSION_CODENAME=AOSP
  2.     PLATFORM_VERSION=AOSP
  3.     TARGET_PRODUCT=generic
  4.     TARGET_BUILD_VARIANT=eng
  5.     TARGET_SIMULATOR=
  6.     TARGET_BUILD_TYPE=release
  7.     TARGET_BUILD_APPS=
  8.     TARGET_ARCH=arm
  9.     TARGET_ARCH_VARIANT=armv5te
  10.     HOST_ARCH=x86
  11.     HOST_OS=linux
  12.     HOST_BUILD_TYPE=release
  13.     BUILD_ID=OPENMASTER
  14.     ============================================
  15.     host C: acp <= build/tools/acp/acp.c
  16.     In file included from /usr/include/features.h:387,
  17.                      from /usr/include/stdlib.h:25,
  18.                      from build/tools/acp/acp.c:11:
  19.     /usr/include/gnu/stubs.h:7: fatal error: gnu/stubs-32.h: No such file or directory
  20.     compilation terminated.
  21.     make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp.o] Error 1
复制代码

解决办法:    缺少libc开发包,安装即可: apt-get install libc6-dev-i386

3. 编译时出现 /usr/include/gnu/stubs.h:7: fatal error: gnu/stubs-32.h: No such file or directory

  1. PLATFORM_VERSION_CODENAME=AOSP
  2. PLATFORM_VERSION=AOSP
  3. TARGET_PRODUCT=generic
  4. TARGET_BUILD_VARIANT=eng
  5. TARGET_SIMULATOR=
  6. TARGET_BUILD_TYPE=release
  7. TARGET_BUILD_APPS=
  8. TARGET_ARCH=arm
  9. TARGET_ARCH_VARIANT=armv5te
  10. HOST_ARCH=x86
  11. HOST_OS=linux
  12. HOST_BUILD_TYPE=release
  13. BUILD_ID=OPENMASTER
  14. ============================================
  15. host C: acp <= build/tools/acp/acp.c
  16. In file included from /usr/include/features.h:387,
  17. from /usr/include/stdlib.h:25,
  18. from build/tools/acp/acp.c:11:
  19. /usr/include/gnu/stubs.h:7: fatal error: gnu/stubs-32.h: No such file or directory
  20. compilation terminated.
  21. make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp.o] Error 1
复制代码

解决办法:缺少libc开发包,安装即可: apt-get install libc6-dev-i386

4.     [android]初始化代码仓库时出现“OSError: [Errno 2] No such file or directory”错误

  1. OSError: [Errno 2] No such file or directoryroot@shanmin-ubuntu:/home/android/src# ../repo init -u git://android.git.kernel.org/platform/manifest.git
  2.     Traceback (most recent call last):
  3.       File "../repo", line 595, in <module>
  4.         main(sys.argv[1:])
  5.       File "../repo", line 562, in main
  6.         _Init(args)
  7.       File "../repo", line 181, in _Init
  8.         _CheckGitVersion()
  9.       File "../repo", line 210, in _CheckGitVersion
  10.         proc = subprocess.Popen(cmd, stdout=subprocess.PIPE)
  11.       File "/usr/lib/python2.6/subprocess.py", line 623, in __init__
  12.         errread, errwrite)
  13.       File "/usr/lib/python2.6/subprocess.py", line 1141, in _execute_child
  14.         raise child_exception
  15.     OSError: [Errno 2] No such file or directory
复制代码

解决办法:  这是由于没有安装git造成 的,安装上git就可以了。按说程序里面应该判断一下系统是否安装了git,不知道为什么没有判断。 apt-get install git

5.      太不容易了,终于看到自己编译的Android了
可能是我使用的机器比较慢,虚拟机运行的有些慢啊。。。。
太不容易了,终于看到自己编译的Android了 -  -
下一步开始研究这个系统怎样去定制了....
编译Android,遇到Your version is: /bin/bash: java: command not found.错误的解决

  1. Your version is: /bin/bash: java: command not found.============================================
  2.             PLATFORM_VERSION_CODENAME=AOSP
  3.             PLATFORM_VERSION=AOSP
  4.             TARGET_PRODUCT=generic
  5.             TARGET_BUILD_VARIANT=eng
  6.             TARGET_SIMULATOR=
  7.             TARGET_BUILD_TYPE=release
  8.             TARGET_BUILD_APPS=
  9.             TARGET_ARCH=arm
  10.             HOST_ARCH=x86
  11.             HOST_OS=linux
  12.             HOST_BUILD_TYPE=release
  13.             BUILD_ID=OPENMASTER
  14.             ============================================
  15.             /bin/bash: bison: command not found
  16.             Checking build tools versions...
  17.             ************************************************************
  18.             You are attempting to build with the incorrect version
  19.             of java.

  20.             Your version is: /bin/bash: java: command not found.
  21.             The correct version is: 1.6.

  22.             Please follow the machine setup instructions at
  23. http://source.android.com/source/download.html
  24.             ************************************************************
  25.             build/core/main.mk:114: *** stop.  Stop.
复制代码

解决办法: 这是由于没有装jdk导致的,可以到sun.com下载jdk后安装,建议安装到/usr/lib /jvm目录下,例如我下载的安装文件为 jdk-6u21-linux-i586.bin,安装完后生成一个jdk1.6.0_21的目录,然后使用ln -s jdk1.6.0_21 java-6-sun命令做一个链接,这样以后再升级sun jdk时只需要改动一下链接就可以了。

6. 编译Android,遇到Could not load 'clearsilver-jni'错误的解决

  1. Could not load 'clearsilver-jni'===========================================
  2. PLATFORM_VERSION_CODENAME=AOSP
  3. PLATFORM_VERSION=AOSP
  4. TARGET_PRODUCT=generic
  5. TARGET_BUILD_VARIANT=eng
  6. TARGET_SIMULATOR=
  7. TARGET_BUILD_TYPE=release
  8. TARGET_BUILD_APPS=
  9. TARGET_ARCH=arm
  10. HOST_ARCH=x86
  11. HOST_OS=linux
  12. HOST_BUILD_TYPE=release
  13. BUILD_ID=OPENMASTER
  14. ============================================
  15. Docs droiddoc: out/target/common/docs/api-stubs
  16. Could not load 'clearsilver-jni'
  17. java.library.path = out/host/linux-x86/lib
  18. make: *** [out/target/common/docs/api-stubs-timestamp] Error 45
复制代码

从网上查得的解决办法:
make clean
make update-api (经测试,这个可以不需要)
make


7. Android编译环境中的JDK存放位置
    因为Ubuntu 10.04已经不带有SUN JDK,所以这个需要到sun网站上下载,并手动安装。所以,这个安装位置的问题就出现了。开始的时候没有注意,随便找了一个位置,并且设置了 JAVA_HOME就可以正常使用了。后来查看build/envsetup.sh才发现,如果没有设置JAVA_HOME的时候,编译环境会自动设置为 /usr/lib/jvm/java-6-sun ,所以建议直接安装到这个目录,还省得进行设置。

         杯具了,VMware虚拟盘文件出现错误...

         晕死了,不说别的,就下载Android的源代码就得差不多一天啊......

        杯具了,VMware虚拟盘文件出现错误... -  -
        似乎昨晚关机的时候强关的机器,没想到会影响这么大。。。。。

8. Android编译遇到错误/usr/bin/ld: cannot find -lstdc++的解决
             首先发现编译2.2版,gcc4.3和gcc4.4没有什么区别。

  1.   /usr/bin/ld: cannot find -lstdc++

  2.             ============================================
  3.             PLATFORM_VERSION_CODENAME=AOSP
  4.             PLATFORM_VERSION=AOSP
  5.             TARGET_PRODUCT=generic
  6.             TARGET_BUILD_VARIANT=eng
  7.             TARGET_SIMULATOR=
  8.             TARGET_BUILD_TYPE=release
  9.             TARGET_BUILD_APPS=
  10.             TARGET_ARCH=arm
  11.             HOST_ARCH=x86
  12.             HOST_OS=linux
  13.             HOST_BUILD_TYPE=release
  14.             BUILD_ID=OPENMASTER
  15.             ============================================

  16.              host SharedLib: libneo_util (out/host/linux-x86/obj/lib/libneo_util.so)
  17.             /usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.3.4/libstdc++.so when searching for -lstdc++
  18.             /usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.3.4/libstdc++.a when searching for -lstdc++
  19.             /usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.3.4/libstdc++.so when searching for -lstdc++
  20.             /usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.3.4/libstdc++.a when searching for -lstdc++
  21.             /usr/bin/ld: cannot find -lstdc++
  22.             collect2: ld returned 1 exit status
  23.             make: *** [out/host/linux-x86/obj/lib/libneo_util.so] 错误 1
复制代码

解决办法:缺少g++-multilib库,安 装即可: apt-get install g++-multilib  

9.  Android编译遇到错误
             环境: vmware + ubuntu 10.04
            使用gcc 4.3或gcc 4.4都会出错误信息:

  1.      host SharedLib: libneo_util (out/host/linux-x86/obj/lib/libneo_util.so)
  2.             /usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.3.4/libstdc++.so when searching for -lstdc++
  3.             /usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.3.4/libstdc++.a when searching for -lstdc++
  4.             /usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.3.4/libstdc++.so when searching for -lstdc++
  5.             /usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.3.4/libstdc++.a when searching for -lstdc++
  6.             /usr/bin/ld: cannot find -lstdc++
  7.             collect2: ld returned 1 exit status
  8.             make: *** [out/host/linux-x86/obj/lib/libneo_util.so] 错误 1
复制代码

现在不知道怎么解决,按照http://www.ways2u.com/?post=163 写的使用gcc 4.3就不会有这个问题,但我这边还是出现这个错误。。。。      

10. android编译环境

android所有源代码在 http://android.git.kernel.org/

如果在Windows下只能使用git一个项目一个项目的下载,如果在linux可以直接使用repo下载全部代码

linux下的全部下载方式见 http://source.android.com/source/git-repo.html

必须安装gcc 4.3才可以,例如我用的ubuntu 10.04默认装的是4.4,编译就会出错。

在装完Eclipse & SDK后,编译Android需要安装部分软件:

apt-get install bison

apt-get install g++

apt-get install libc6-dev-amd64

到源代码目录执行

make

即可

分享到:
评论

相关推荐

    mtk android 编译常见错误

    编译mtk android源码,几个常见的编译错误,环境配置相关

    在ubuntu20.04下配置android P源码编译环境

    如何在ubuntu20.04下配置 魔趣P 源码编译环境及常见错误解决一 Ubuntu20.04 LTS 安装更新软件源-&gt;阿里云1.安装Chrome2.安装Vim3.点击图标最小化二 配置魔趣源码环境1.下载 git2.设置 git 账户3.下载python4.配置PATH...

    android源码编译

    如何在ubuntu下源码android源码,ubuntu配置,常见错误

    Android APK+Dex文件反编译及回编译工具(APKDB)v.1.9.2 正式版

    · 对*.Dex 文件 反编译 及 回编译 或查看详细源代码 · 对*.Apk 文件 批量反编译 及 回编译 · 对*.Apk、*.Zip 文件执行签名 · Windows下直示Apk件自身图标 声明 1.本工具必须先安装JAVA7; 2.如需显示APK自身...

    JAVA上百实例源码以及开源项目源代码

    Java波浪文字制作方法及源代码 1个目标文件 摘要:Java源码,初学实例,波浪文字  Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象...

    OpenSSL1.1.1m

    截至到2022-01-20 最新版 1.1.1m,编译环境Win10+VS2022. 资源包含 源码,x86+x64+Android三版本静态库,常见错误 三部分。自测通过。常见错误为应用时遇到的错误和解决方法。

    jadx-gui(反编译工具) v0.6.1

    jadx-gui是一款安卓反编译工具,安装后可以用来查看apk源码,打开zip、dex、jar、apk、class文件,了解学习借鉴其内部代码构造,需要64位Java环境支持,赶快下载使用吧! 软件特色  1、操作方便快捷,一步到位  2...

    JAVA上百实例源码以及开源项目

    Java波浪文字制作方法及源代码 1个目标文件 摘要:Java源码,初学实例,波浪文字  Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象...

    Android应用开发基本框架。Volley二次封装及常见开发工具包。.zip

    包括编译器、构建工具(如Make、Gradle、Maven)等,用于将源代码转换为可执行文件或库,并进行资源打包、优化等处理。 调试与测试: 集成调试器允许开发者逐行执行代码,设置断点、查看变量值、跟踪调用堆栈等...

    网狐荣耀版开发使用常见问题解答

    二十、网狐荣耀版手机端登录提示“网络错误:5”解决办法 这是因为服务器端授权问题、内核问题或是手机端的配置问题造成的,请看内核是否为248K的内核,并检查网络模块是否为34.7K的网络模块,如果没有问题请检查...

    安卓java读取网页源码-GreenDao:GreenDao原创

    安卓java读取网页源码 GreenDao GreenDao 转载请指明出处 WangYouHu版权归github博主所有 由于最近有好多人请教我数据库的问题 由于网络上资料整理不全面 我熬夜两天整理了一下greendao 框架给大家分享 希望大家多多...

    Java虚拟机

    讲解了虚拟机的热点探测方法、HotSpot的即时编译器、编译触发条件,以及如何从虚拟机外部观察和分析JIT编译的数据和结果;第五部分探讨了Java实现高效并发的原理,包括JVM内存模型的结构和操作;原子性、可见性和...

    友盟渠道打包工具.zip

    常见错误见这里目前不支持的Apk特性见这里(可能会导致发布的SDK产生严重bug)。 Google 现在已经发布了最新的构建系统(New Building System) , 在 Android Studio 中已经支持了最新的 构建系统,如果开发者已经迁移,...

    OpenGL ES 3.0

    第4章介绍创建着色器对象、编译着色器和检查编译错误的方法。这一章还说明如何创建程序对象、将着色器对象连接到程序对象以及链接最终程序对象的方法。我们讨论如何查询程序对象的信息以及加载统一变量(uniform)的...

    【05-面向对象(下)】

    •在定义接口时,接口里可以包含成员变量(只能是常量),方法(只能是抽象实例方法、类方法或默认方法),内 部类(包括内部接口、枚举类  –常量都是:public static final修饰  –方法都是:public abstract ...

Global site tag (gtag.js) - Google Analytics