Android源码编译常见错误(持续更新)
本文为个人工作中处理遇到的编译问题做个小结,后续遇到新的问题,持续更新。
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源码编译常见错误(持续更新)的更多相关文章
- android源码编译常见错误
错误1:You are attempting to build on a 32-bit system. Only 64-bit build environments are supported bey ...
- php源码编译常见错误解决方案大全
php源码编译常见错误解决方案大全http://www.cnlvzi.com/index.php/Index/article/id/143 在CentOS编译PHP5的时候有时会遇到以下的一些错误信息 ...
- php源码编译常见错误解决方案
在CentOS编译PHP5的时候有时会遇到以下的一些错误信息,基本上都可以通过yum安装相应的库来解决.以下是具体的一些解决办法: checking for BZip2 support… yes ch ...
- [Android Pro] Android源码编译之Nexus5真机编译
reference to : http://blog.csdn.net/liu1075538266/article/details/51272398 1. 前言 在Android安全的研究工作中, ...
- 有关android源码编译的几个问题
项目用到编译环境,与源码有些差异不能照搬,关键是连源码都没编译过,下面基本上是行网上照的各种自学成才的分享,病急乱投医了,都记在下面作为参照吧. 1.验证是否编译正确,在终端执行 emulator & ...
- Android源码编译jar包BUILD_JAVA_LIBRARY 与BUILD_STATIC_JAVA_LIBRARY的区别(二)
上文简单介绍了BUILD_JAVA_LIBRARY 与BUILD_STATIC_JAVA_LIBRARY编译出来jar包的区别, 那么你如果拿到了一个内容是dex格式的jar包,而你又偏偏需要这个ja ...
- 【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 ...
- android 源码编译中的错误 解决
1.编译种错误提示: arm-none-linux-gnueabi-gcc: directory: No such file or directory arm-none-linux-gnueabi-g ...
- 【转】Android 源码编译make的错误处理--不错
原文网址:http://blog.csdn.net/ithomer/article/details/6977386 Android源码下载:官方下载 或参考android源码下载方式 Android编 ...
随机推荐
- java中的Set的使用以及各种遍历方法(较为全面)
1. 概述 Java 中的Set和正好和数学上直观的集(set)的概念是相同的.Set最大的特性就是不允许在其中存放的元素是重复的.根据这个特点,我们就可以使用Set 这个接口来实现前面提到的关于商品 ...
- 用C#开发一个 UWP BLUETOOTH BLE 扫描APP
什么是WINDOWS UWP UWP即Windows 10 中的Universal Windows Platform简称.即Windows通用应用平台,在Win 10 Mobile/Surface(W ...
- 1.TCP/IP基本概念
为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别.就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样 ...
- Java 之 Servlet介绍(Java之负基础实战)
1.介绍 Servlet是用Java编写的服务器端程序.其主要功能在于交互式地浏览和修改数据,生成动态Web内容.狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了 ...
- 位运算,算术、逻辑运算详解-java篇
/** * 功能: * 位运算符,原码.反码.补码规则: * 1.二进制的最高位是符号位:0表示正数,1表示负数 * 2.正数的原码.反码.补码都一样 * 3.负数的反码=它的原码符号位不变,其他位取 ...
- 【WebService】WebService学习笔记
WebService三要素 WebService三要素SOAP(Simple Object Access Protocol).WSDL(WebServicesDescriptionLanguage). ...
- Spring JdbcTemplate用法整理
Spring JdbcTemplate用法整理: xml: <?xml version="1.0" encoding="UTF-8"?> <b ...
- java工程打包成jar包,并且解压lib里的jar包
在我们开发完java工程部署时,有时不需要web容器,为了方便部署有时候需要打成jar包. 这里介绍2种Eclipse打jar包的方式, 方式一.工程引用的jar包打在lib目录下 1.工程上右键,E ...
- css3模拟jq点击事件
还是这个梗,收好冷.今天是一个css3模拟jq点击事件,因为我发现,css3中没有类似于,js的点击事件,那么,可不可以仿照 jq的效果,类似的做一个呢?主要用到,input里面的radio 单选按钮 ...
- 【G】开源的分布式部署解决方案 - 预告篇
为什么想到要做分布式部署解决方案? 当项目越做越大以后,你会发现部署变成一件极其头疼的事情.当然头疼的绝不仅仅在部署一个环节,比如新服务器环境搭建当中就许多坑要踩.各种重复性的工作,包括但不仅限于增加 ...