android 4.0.1源码编译,学习错误解决

2023-05-16

主机是fedora 14   linux内核2.6.35.6    swapon交换分区1.5G   make -version 3.81(官方指定的make版本)jdk 1.6     

磁盘预留空间大概需要大于13G

具体的编译步骤可参考

Fedora 15编译Android源代码 

Android4.0.1 源码下载,模拟器编译和运行

问题1:


out/host/common/obj/JAVA_LIBRARIES/clearsilver_intermediates/classes)
Unrecognized option : 9999999
make: ***
[out/host/common/obj/JAVA_LIBRARIES/clearsilver_intermediates/javalib.jar]
Error 41
解决:安装jdk,并正确设置环境变量,具体参考上面列出的第一篇文章

问题二:
缺少libgl1的包

解决:在fedora下使用 yum install mesa-libGL-devel即可


问题三:
  
Processing target/product/generic/dex_bootjars/system/framework/core.jar+ n  s# Z5 J5 e8 j/ M. L) w. c( f

host/linux-x86/bin/dexopt: error while loading shared libraries: libdvm.so: cannot enable executable stack as shared object requires: Permission denied


解决:是使用的系统 fedora的问题,在fedora中suselinux默认设置了一些权限

在这里可以通过执行  setsebool allow_execstack=1


问题四:

/usr/bin/ld: note: 'XInitThreads' is defined in DSO /usr/lib/libX11.so.
6 so try adding it to the linker command line
/usr/lib/libX11.so.6: could not read symbols: Invalid operation
collect2: ld returned 1 exit status


解决:

在文件development/tools/emulator/opengl/host/renderer/Android.mk中加入
LOCAL_LDLIBS += -lX11


问题五:out of memory 或者是 collect2: ld terminated with signal 9 [Killed]


解决:android在后面的编译阶段内存占用量很高,如果没有设置swap交换分区,或者分区太小都会导致上述错误 ,

# dd if=/dev/zero of=/opt/other/swapfile bs=1024 count=1536K
# mkswap /opt/other/swapfile
# swapon /opt/other/swapfile
# swapon -s
Filename                Type        Size    Used    Priority
/opt/other/swapfile                     file       1572860    0    -1


问题六:acp: file 'out/host/linux-x86/obj/EXECUTABLES/vm-tests_intermediates/tests/data' does not exist

解决:在相应位置建立data目录即可(我在第一次编译的时候遇到了这个问题,按照此方法解决后又出现其他问题,删除out目录后重新编译,没有出现此问题及后续问题)


问题七:llvm-rs-cc:permission denied

解决:你可以到相应文件夹下 out/host/linux-x86/bin/llvm-rs-cc,查看此文件,即使你将所有权限有效,在运行会出现cannot execute binary file llvm-rs-c c,我没有找到解决办法,只是把out目录删除,重新编译就没有出现此问题。也没有出现上面的问题六。


倒腾了两天,终于是编出来了。貌似android的编译不是每次编译都是一样的,所有有人一次成功,还有人要纠结很久。贴图一张,祝大家成功阿!


问题八:修改android代码的过程中再进行编译出现You have tried to change the API from what has been previously approved.(修改了frameworks/base)

解决:make update-api


问题九:当想测试一个内置的应用程序时,使用mmm编译packages/experimental/xxx文件夹,会在generic/system/app下生成apk文件以及同名的xxx.odx文件,但是这个apk文件是不可以直接安装的,安装时出错。logcat会显示does not include classes.dex。

解决:‘发现Android的ROM中有很多odex文件,相对于APK中的dex文件而言这个odex有什么作用呢? Android123提示大家,如果你仔细观察会发现文件名时一一对应的,同时那些对应的apk文件中没有dex文件。这样做可以使其厂商保证一定的反盗版,因为没有没有dex文件的apk是无法正常安装的,而厂商直接将odex和不完整的apk文件放到手机rom固化到/system/bin中可以让一般用户无法正常导出使用。’其实含有dex的文件在generic/obj/APPS下面的xxx_intermediates文件夹下,下面的xx.apk.unaligned和xxx.apk.unsingned是包含dex是可以安装的。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android 4.0.1源码编译,学习错误解决 的相关文章

随机推荐

  • Linux查看当前时间

    一 查看和修改Linux的时区 1 查看当前时区 命令 xff1a date R 2 修改设置Linux服务器时区 方法 A 命令 xff1a tzselect 方法 B 仅限于RedHat Linux 和 CentOS 命令 xff1a
  • 如何查看redis版本号

    Windows下查看redis版本号 1 打开redis所在目录启动 redis server 服务器端 2 启动 redis cli 客户端 3 客户端输入 xff1a info 结果如下 xff1a linux下查看redis的版本号
  • 三个练手的软件测试实战项目(附全套视频跟源码)偷偷卷死他们

    项目一 xff1a 12306抢票项目 项目测试目的 学会Selenium定位web元素的方法 熟练浏览器调试工具使用 项目主体步骤 1 xff09 人工走一遍流程 xff0c 对自动化的流程心中有数 2 xff09 按步骤拆分 xff0c
  • 基于LSTM的多变量温度预测(python从入门到入坑)

    基于LSTM的多变量温度预测 xff08 python xff09 我保证他能够运行 xff0c 而且结果能够让你满意 xff08 如果你和我一样都是一个新手的话 xff09 这里写目录标题 基于LSTM的多变量温度预测 xff08 pyt
  • 安装RabbitMQ出现Plugin configuration unchanged.问题

    安装RabbitMQ出现Plugin configuration unchanged 问题 rabbitmq server和opt版本 出现问题 xff1a 在安装RabbitMQ并配置好环境之后运行命令rabbitmq plugins e
  • selenium之 如何控制网页内嵌div中滚动条的滚动

    http blog csdn net huilan same article details 52131277 很多人疑惑怎么用selenium控制网页div中滚动条的滚动 xff0c 其实这个问题很简单 xff0c 用JS很简单就可以实现
  • Mysql如何设置id自增

    xff08 1 xff09 设置自增 方案一 xff1a CREATE TABLE IF NOT EXISTS user id INT UNSIGNED AUTO INCREMENT name VARCHAR 100 NOT NULL se
  • Centos安装RabbitMQ超详细(必须收藏)

    最近搞了台liunx xff08 centos xff09 服务器 xff0c 想玩一下rabbitMQ 但是发现csdn没有一个详细或者便捷的安装流程 xff0c 特此写了这么一篇文章 xff01 记得三连 万分感谢 xff01 首先Wi
  • Mysql占用CPU过高排查过程及可能优化方案

    1 查看生产DB服务器top列表 xff0c 执行 top 命令 2 使用root用户登录mysql 执行 show full processlist 查看慢查询 xff0c 反复执行 xff0c 如果发现一直有select 查询语句存在
  • SQLServer2019安装(Windows)

    目录 一 SQLServer2019下载 1 官网下载地址 2 下载安装包 2 1 选择Developer版本 立即下载 2 2 选择下载位置 3 安装 3 1 打开 SQLServer2019 x64 CHS Dev iso
  • 香橙派4在armbian上应用自启动设置

    编辑了一个qt界面 需要设置开机启动 xff0c 费了九牛二虎之力 xff0c 终于搞定了 设置开机显示命令行 开机不显示图形界面 xff0c 直接显示命令行的操作有两种方法 xff1a 多用户方法 sudo systemctl set s
  • vscode 中git解决冲突,合并代码的两种方法

    一 报错信息 有文件冲突的话 xff0c 会报错 xff1a git merge pre span class token operator span master span class token comment 合并 pre maste
  • 用Python爬取淘宝4403条大裤衩数据进行分析,终于找到可以入手的那一条

    炎炎夏日 xff0c 长裤已难以满足广大男生的需求 xff0c 为了在搬砖和摆摊的过程中增添一丝舒适感 xff0c 他们开始寻找一种神奇的存在 大裤衩 J哥在种菜的这些日子里也日益感受到大裤衩的重要性 xff0c 于是 xff0c 默默打开
  • 用户标签有哪些类型,如何进行科学分类?

    标签的分类 xff0c 是理解用户标签 理解用户画像的基础 优秀的标签分类 xff0c 将使得标签画像系统易于用户的使用 本篇文章和大家简单介绍一下标签数据的分类 按照不同的分类方法 xff0c 标签的分类也自然不同 本文主要介绍几种最常规
  • Python字符串查找函数find

    Python字符串查找函数find 比较简单 xff0c 直接上代码 总结下规则 xff0c 结果数字说明 按字符串索引下标查询 xff0c 索引从0开始 xff0c 空格会占位并且有下标结果 1 xff0c 代表没有查找到英文区分大小写
  • 闲着看看jquery.ajax源码

    框架的作用就是简化我们做的事情 xff0c 却又不失灵活性 jquery是js框架中的中流砥柱 xff0c 灵活并且强大 jquery中对ajax的封装很完美 xff0c 且不说底层的ajax函数的强大 xff0c 但是其上层的get xf
  • java 转json 报错处理机制 案例 .

    JSON lib这个Java类包用于把bean map和XML转换成JSON并能够把JSON转回成bean和DynaBean http kingpingping iteye com blog 1157771 报错处理机制 commons b
  • 关于jquery对象的remove参数中出现伪位置类选择器,出现非预期结果的研究

    记得前几天有人在论坛发帖问了一个关于jquery删除节点的问题 原帖是这样的 xff08 原帖的地址是 xff1a 原帖 xff09 lt ul gt lt li gt 1 lt li gt lt li title 61 34 a 34 g
  • linux源码阅读利器-GNU GLOBAL Source Code Tag System

    学习浏览linux源码 xff0c 如果自己用自带的文本编辑器就太麻烦了 xff0c 但是如果安装强大的lxr那就太麻烦了 xff08 对于非debian用户来说 xff09 xff0c 找了很久找到了一个用起来很不错的源码浏览工具 xff
  • android 4.0.1源码编译,学习错误解决

    主机是fedora 14 linux内核2 6 35 6 swapon交换分区1 5G make version 3 81 官方指定的make版本 xff09 jdk 1 6 磁盘预留空间大概需要大于13G 具体的编译步骤可参考 Fedor