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编 ...
随机推荐
- Beautiful Soup 定位指南
Reference: http://blog.csdn.net/abclixu123/article/details/38502993 网页中有用的信息通常存在于网页中的文本或各种不同标签的属性值,为 ...
- Outlook 2013 电子邮件账户设置备份与恢复
与之前版本不同,Outlook 2013需要备份以下注册表内容:HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Profiles恢复时 ...
- Nodejs之发送邮件nodemailer
nodejs邮件模块nodemailer的使用说明 1.介绍 nodemailer是node的一个发送邮件的组件,其功能相当强大,普通邮件,传送附件,邮件加密等等都能实现,而且操作也十分方便. nod ...
- MySQL——数据类型
MySQL中定义数据字段的类型对你数据库的优化是非常重要的.MySQL支持多种类型,大致可以分为三类:数值.日期/时间和字符串(字符)类型. 一.字符串类型: 字符串类型指CHAR.VARCHAR.B ...
- 堡垒机--paramiko模块
做堡垒机之前,来了解一下paramiko模块. 实际上底层封装的SSH. SSHclient(1) import paramiko #实例化一个ssh ssh = paramiko.SSHClient ...
- 那就用pthon来写个跳板机吧
1.需求 程序一: 1.后台管理 - 堡垒机上创建用户和密码(堡垒机root封装的类,UserProfile表) - .bashrc /usr/bin/python3 /data/bastion.py ...
- Zepto.js-事件处理
http://www.webdevs.cn/article/68.html web开发网 事件 $.Event $.Event(type, [properties]) ⇒ event 创建并初 ...
- 2.13.2. 对结果集进行筛选(Core Data 应用程序实践指南)
Core Data通过谓词(NSPredicate)来筛选,比如限定获取的数量等.谓词基本对存储区不敏感,但也有例外,比如:matches可用在 in-memory存储区,但是不能用在SQLite存储 ...
- Discuz教程:X3.1-x3.2后台admin.php防止直接恶意访问
功能说明:admin.php是discuz默认的后台地址,正常情况下可以直接访问,为了防止某些恶意访问的情况,可以修改以下内容进行安全性能提升.适用版本:Discuz!x1-x3.2具体实施方案: a ...
- JAVA中StringBuffer类常用方法
String是不变类,用String修改字符串会新建一个String对象,如果频繁的修改,将会产生很多的String对象,开销很大.因此java提供了一个StringBuffer类,这个类在修改字符串 ...