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开机详细流程

    计算机启动分为内核加载前 加载时和加载后3个大阶段 xff0c 这3个大阶段又可以分为很多小阶段 xff0c 本文将非常细化分析每一个重要的小阶段 内核加载前的阶段和操作系统无关 xff0c Linux或Windows在这部分的顺序是一样的
  • SDV、SIT、SVT、DFX、UAT

    SDV System design Verify 系统设计验证 SIT System Integration Testing 系统集成测试 xff0c 也叫做集成测试 是软件测试的一个术语 xff0c 在其中单独的软件模块被合并和作为一个组
  • 【Linux】Windows10 Ubuntu子系统初始配置及开启VNC

    环境 描述 xff1a 目标环境 Ubuntu18 04 已经通过win10 管理器安装好子系统处于初始化状态使用运行框 wsl 访问Ubuntu 系统的文件内容 配置阿里的apt get 源代 sudo vi etc apt source
  • 蓝桥杯_刷题_天干地支

    天干地支 题目描述 古代中国使用天干地支来记录当前的年份 天干一共有十个 xff0c 分别为 xff1a 甲 xff08 ji xff09 乙 xff08 y xff09 丙 xff08 b ng xff09 丁 xff08 d ng xf
  • 项目干系人

    项目干系人 xff08 Project Stakeholder xff09 xff0c 也称为项目利害关系者 是积极参与项目或其利益因项目的实施或完成受到影响的个人和组织 xff0c 这些利害关系着还可以对项目的目标或者结果施加影响 项目管
  • 搭建LAMP环境

    LAMP 是指Linux xff08 操作系统 xff09 43 Apache xff08 HTTP 服务器 xff09 43 MySQL xff08 数据库 xff09 和 PHP xff08 网络编程语言 xff09 xff0c 一般用
  • Python爬取CSDN博客所有文章

    需求 Python爬取某个账号CSDN博客所有文章的标题 xff0c 类型 xff0c 创建时间 xff0c 阅读数量 xff0c 并将结果保存至Excel 分析 CSDN主页URL为 xff1a https blog csdn net s
  • DLINK-DSN1100的安装使用记录

    网上淘了一套DSN1100存储 xff0c 说是企业级存储 xff0c 支持ISCSI xff0c 我这边正好想搭一套VMWARE的环境 xff0c 正好上手试试 先说这个存储的做工 xff0c 硬件在这个价位上可以说是超值 xff0c 加
  • 安装和使用ArchLiunx超详细教程

    安装系统 一 下载介质 https www archlinux org download 二 启动 ISO 到Live 环境 此步骤由很多种方式 xff1a 制作ISO为U盘启动工具 xff0c 可以使用 Ultra ISO 或 大白菜 有
  • Block Bindings

    Block Bindings 一般来讲 xff0c 变量的声明方式在 Javascript 的变成中是一个棘手的部分 tricky part 在大部分 C Based 语言中 xff0c 变量是在声明的地方创建的 但是在 Javascrip
  • openvas的安装和使用(kali2021)

    kali2020中已经不可以直接安装openvas了 xff0c 常用命令openvas setup等等 xff0c 在执行后都会在终端报错 xff1a 命令找不到 所以 xff0c 要使用GVM 下面用我的安装经验来介绍如何安装 xff0
  • 迁移CentOS 8到版本 almalinux8

    访问 https www ipaddress com xff0c 查询 raw githubusercontent com 的IP 添加到 etc hosts文件中 xff1a vim etc hosts 添加内容 xff1a Github
  • Fedora 30/31/32/33升级到Fedora Linux 34

    最近有些时间 xff0c 开始升级安装在移动硬盘上的linux系统 如果你使用旧版Fedora版本 xff0c 比如Fedora 30 31 32 33 xff0c 可以通过以下三段命令来升级到Fedora Linux 34版本 升级命令
  • linux网络之怪现象一--接网线启动网络不通,不接网线启动再插线网络通

    自己的笔记本安装的双系统 xff0c linux系统不知在什么时候有线是不通讯的 xff0c 无线倒是没事 xff0c 开始没注意 xff0c 因为笔记本比较旧想着是网卡太旧不稳定 xff0c 再说也能使用无线 xff0c 但时间久了发现笔
  • 华为交换机开启web管理

    华为S2300 3300交换机不含web网页文件 xff0c 需手动上传 Web文件下载地址http download csdn net download flyhorstar 4929194 开启步骤如下 xff1a 开启交换机ftp功能
  • 华为路由器配置NAT使内网用户通过外网IP地址方式访问内网服务器示例

    示例以FTP服务 为例 xff1a 客户要求 FTP服务 内网用户同样都可以使用外网ip地址进行访问 设备 xff1a 路由器AR151 S2 出接口G0 0 0 IP 192 168 1 42 内网接口 vlan 1 ip xff1a 1
  • kali桌面的安装与切换

    xff11 对软件进行一次整体更新 xff1a apt get update amp apt get upgrade apt get dist upgrade apt get clean 完成 xff12 各种桌面的安装及卸载 2 1 KD
  • proxmox中的好用qm命令,救命就用它了!解决locked的问题

    Locks Online migrations snapshots and backups vzdump set a lock to prevent incompatible concurrent actions on the affect
  • OPEN-WRT老毛子固件的无线中继设置建议

    百度一下OPEN WRT的无线中继一般都如下注释 xff1a 无线AP工作模式有四种 xff08 实际上就两种一个WDS和一个AP客户端模式 xff09 xff1a 无线 xff21 xff30 工作模式 xff1a WDS桥接 xff08
  • vc++打开文件夹时,指定初始路径

    回调函数 int CALLBACK BrowseCallbackProc HWND hwnd UINT uMsg LPARAM lParam LPARAM lpData if uMsg 61 61 BFFM INITIALIZED Send

随机推荐