本文为个人工作中处理遇到的编译问题做个小结,后续遇到新的问题,持续更新。

No such file or directory:

  1. 检查路径是否有问题,文件是否存在,若文件存在且路径没问题
  2. 检查文件的路径目录和文件是否具有可读权限

代码中的 error:

  : error: package ....... does not exist
  1. 确认该代码中所用的包名是否正确;
  2. 包名正确的情况,该包所在的jar是否引入,参与编译,查看out/target/common/obj/JAVA_LIBRARIES下是否存在jar包模块名对应的intermediates目录。
  : error: cannot find symbol
  1. 请确认该关键字或类名是否声明,包的引入是否正确;
  2. 如果依赖其他的jar包或者库,确认jar包和库是否正确引入,查看out/target/common/obj/JAVA_LIBRARIES下是否存在jar包模块名对应的intermediates目录。
  : error: unmappable character for encoding UTF-8
  1. 请检查文件的字符集,在UTF-8下打开无乱码,修改代码的字符集;
  2. 或者在Android.mk中加入 LOCAL_JAVACFLAGS := -encoding GBK 来使代码以GBK编码方式编译。
  : error: undefined reference to
  1. 请联系该代码的维护人员检查该符号是否定义或者头文件是否已包含进来
  2. 如果定义在第三方的库中,先去out目录检查第三方库是否参与编译,以及用工具查看第三方库中是否包含该函数

  (代码中的错误大部分由代码语法导致,比较多,持续补充)

No Android.mk in .... :
  1. 该目录下没有Android.mk文件,需要该目录的维护人员添加Android.mk;
  2. 检查该路径的档案权限是否可读。

Permission denied:
  1. 路径权限有问题,查看该路径对应目录和文件的权限属性

make: *** No rule to make target `.......', needed by `......'. Stop. :

  1. 如果前方对应缺失的是动态库,静态库或者jar包,需要先将这些库编译出来;
  2. 如果是第三方的库,需要先将库预编译,才可以依赖;
  3. 检查对应的库的Android.mk中LOCAL_MODULE_TAGS是否与环境统一,否则不参与编译。

  (这个错误在源码编译包括目录编译mmm中非常常见,解决的方法比较杂大都在Android.mk中做修改)

Android源码编译常见错误(持续更新)的更多相关文章

  1. android源码编译常见错误

    错误1:You are attempting to build on a 32-bit system. Only 64-bit build environments are supported bey ...

  2. php源码编译常见错误解决方案大全

    php源码编译常见错误解决方案大全http://www.cnlvzi.com/index.php/Index/article/id/143 在CentOS编译PHP5的时候有时会遇到以下的一些错误信息 ...

  3. php源码编译常见错误解决方案

    在CentOS编译PHP5的时候有时会遇到以下的一些错误信息,基本上都可以通过yum安装相应的库来解决.以下是具体的一些解决办法: checking for BZip2 support… yes ch ...

  4. [Android Pro] Android源码编译之Nexus5真机编译

    reference to : http://blog.csdn.net/liu1075538266/article/details/51272398 1.   前言 在Android安全的研究工作中, ...

  5. 有关android源码编译的几个问题

    项目用到编译环境,与源码有些差异不能照搬,关键是连源码都没编译过,下面基本上是行网上照的各种自学成才的分享,病急乱投医了,都记在下面作为参照吧. 1.验证是否编译正确,在终端执行 emulator & ...

  6. Android源码编译jar包BUILD_JAVA_LIBRARY 与BUILD_STATIC_JAVA_LIBRARY的区别(二)

    上文简单介绍了BUILD_JAVA_LIBRARY 与BUILD_STATIC_JAVA_LIBRARY编译出来jar包的区别, 那么你如果拿到了一个内容是dex格式的jar包,而你又偏偏需要这个ja ...

  7. 【Android开发】构建Android源码编译环境

    原文:http://android.eoe.cn/topic/android_sdk 构建Android源码编译环境 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...

  8. android 源码编译中的错误 解决

    1.编译种错误提示: arm-none-linux-gnueabi-gcc: directory: No such file or directory arm-none-linux-gnueabi-g ...

  9. 【转】Android 源码编译make的错误处理--不错

    原文网址:http://blog.csdn.net/ithomer/article/details/6977386 Android源码下载:官方下载 或参考android源码下载方式 Android编 ...

随机推荐

  1. Java-设计模式-单例模式-饿汉模式、懒汉模式

    //-------------------------------------------------------------饿汉模式--开始----------------------------- ...

  2. java系列--集合

    ==比较地址,equals比较内容 一.常用集合框架: 1.List结构集合类:ArrayList类: LinkedList类:addFirst( ),addLast( ),remove( ), Ve ...

  3. 云脉推出表格识别API接口可以自助接入

    针对如今市场上对于海量票据信息的录入需求,近期厦门云脉技术有限公司推出票据识别相关的产品与服务,更是在云脉OCR SDK开发者平台上上线表格识别API接口,供广大开发者和集成商自助接入.为了降低财务系 ...

  4. PHP常用函数(收集)

    <?php //===============================时间日期=============================== //y返回年最后两位,Y年四位数,m月份数字 ...

  5. iOS 之 WebView 简单使用

    1. 代理 UIWebViewDelegate 2. 创建 UIWebView myWebView=[[UIWebView alloc] initWithFrame:CGRectMake(, ,sel ...

  6. BNU Online Judge-34976-数细菌

    题目链接 http://www.bnuoj.com/bnuoj/problem_show.php?pid=34976 题目分析通过a b可以设x,y x+y=a    x+3*y=b  解出x,y, ...

  7. TCMalloc

    一. 原理 tcmalloc就是一个内存分配器,管理堆内存,主要影响malloc和free,用于降低频繁分配.释放内存造成的性能损耗,并且有效地控制内存碎片.glibc中的内存分配器是ptmalloc ...

  8. PHP Memcached 实现简单数据库缓存

    Memcache常用方法 Memcache::add — 添加一个值,如果已经存在,则返回false Memcache::addServer — 添加一个可供使用的服务器地址 Memcache::cl ...

  9. 用php 进行对文件的操作 (下)

    继续来说文件操作 新建一个文件夹或是删除一个文件夹,并不是只有右击一种方法,还可以用代码来操作 先来看没有运行代码之前的目录下有哪些文件 点击运行代码后再来看有没有增加名为aa的文件夹 添加成功 再来 ...

  10. Go并发编程实践

    前言 并发编程一直是Golang区别与其他语言的很大优势,也是实际工作场景中经常遇到的.近日笔者在组内分享了我们常见的并发场景,及代码示例,以期望大家能在遇到相同场景下,能快速的想到解决方案,或者是拿 ...