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编 ...
随机推荐
- 动态创建Fastreport(delphi)
动态创建Fastreport分以下几个步骤: 1.首先清空Fastreport,定义全局变量,并加载数据集 frReport.Clear; frReport.DataSets.Add(fr ...
- Aaron Swartz – 互联网天才开挂的人生历程:每时每刻都问自己,现在这世界有什么最重要的事是我能参与去做的?
Aaron说的一句话让我挺有感触的-- 相信你应该真的每时每刻都问自己,现在这世界有什么最重要的事是我能参与去做的? 如果你没在做那最重要的事,那又是为什么? 1986年11月8日,有个叫Aaron ...
- VS生成时复制文件到指定目录
1.右键项目属性,选择生成事件,再点击"编辑后生成事件",可以直接在编辑框内填写命令行,如图: 2.也可以在弹出的编辑框内,写命令,$(ProjectDir)这种是系统的宏路径,具 ...
- JSP/Servlet(一)
JSP/Servlet(一) Web应用和web.xml文件: 一.构建Web应用: 1.在任意目录下创建一个文件夹. 2.在第1步所建的文件夹内建一个WEB-INF文件夹(注意大小写). 3.进 ...
- 让Flash支持Stage3D
如要需要支持Stage3D,采用GPU来渲染,需要设置wmode="direct",在FB中,对于web和air设置方法不同: 1.web: 需要在web的html模板中,添加参数 ...
- 【python基础】 Tkinter 之 几何管理器
Tkinter支持三种几何管理器:网格管理器,包管理器,位置管理器 提示:由于每个管理器都有自己放置小构件的风格,最好不要在同一个容器中的小构件使用多个管理器.可以使用框架作为子容器以获取期望的布局. ...
- 常用js类型相互转换
数字转换为字符串 var a=200.21;document.write(a.toString(10)); 结果为:200.21以十进制转换 document.write(a.toFixed(3)) ...
- Express与NodeJs创建服务器的两种方法
NodeJs创建Web服务器 var http = require('http'); var server = http.createServer(function(req, res) { res.w ...
- 【Ionic+AngularJS 开发】之『个人日常管理』App(二)
准备工作 资源 预装工具 安装bower npm install -g bower 安装ngCordova bower install ngCordova (*由于网络获取资源的原因,后面几次建项目后 ...
- JS数组处理
一.定义数组: 方法1 var myCars=new Array(); myCars[0]="Saab"; myCars[1]="Volvo"; myCars[ ...