使用ubuntu17.04编译Android 6.0源代码

简介: 在安装了最新的ubuntu17.04后编译Android6.0源代码的过程中,遇到了很多问题:1、openjdk无法支持jdk8,只能用回jdk72、还有很多未曾遇到的编译问题还陆陆续续遇到了各种各样的编译失败的信息,最后,参考这两位博主的16.04编译Android的方法顺利解决。

在安装了最新的ubuntu17.04后编译Android6.0源代码的过程中,遇到了很多问题:

1、openjdk无法支持jdk8,只能用回jdk7

2、还有很多未曾遇到的编译问题

还陆陆续续遇到了各种各样的编译失败的信息,最后,参考这两位博主的16.04编译Android的方法顺利解决。

比如下面这个错误:

这里写图片描述

解决方法我是参考以下两位博主的:

http://blog.csdn.net/fuchaosz/article/details/51487585

http://blog.csdn.net/cnliwy/article/details/52189349

直接将:

art/build/Android.common_build.mk文件的:

ifneq ($(WITHOUT_HOST_CLANG),true)改为ifeq ($(WITHOUT_HOST_CLANG),false)

然后发现make -j32后还是一样出现了如图的错误:

这里写图片描述

于是又爬了很久的坑,找到了最终的解决方案:

参考了网上的文章,与clang编译器有关:

具体参考修改方案:

http://blog.csdn.net/codenoodles/article/details/52198470

解决方法:
clang编辑器的问题,在art/build/Android.common_build.mk 中将host 默认编辑器使用clang关掉,找到WITHOUT_HOST_CLANG

关闭clang:

#Host.
ART_HOST_CLANG := false
ifneq ($(WITHOUT_HOST_CLANG),true)
# By default, host builds use clang for better warnings.
ART_HOST_CLANG := false
endif

编译的时候,内存貌似占用不是太多,CPU消耗得太多。


跟之前在虚拟机上编译得不太一样,虚拟机太吃内存,以下是真机编译Android6.0的时候,内存和CPU的占用情况。


最后,终于编译成功了:


目录
相关文章
|
Java Android开发 C++
Android Studio JNI 使用模板:c/cpp源文件的集成编译,快速上手
本文提供了一个Android Studio中JNI使用的模板,包括创建C/C++源文件、编辑CMakeLists.txt、编写JNI接口代码、配置build.gradle以及编译生成.so库的详细步骤,以帮助开发者快速上手Android平台的JNI开发和编译过程。
929 1
|
12月前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
382 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
12月前
|
编译器 Android开发
配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目
配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目
|
12月前
|
Ubuntu Shell API
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
|
2月前
|
Ubuntu Linux
任何Ubuntu用户都应安装的四大Linux应用程序
当然,这款程序不需要太多介绍。我们面对的是网上最庞大最完整的多媒体中心,由于丰富的插件,我们能够高度细化地定制其每一项功能。这是我们的Linux发行版不可或缺的必备软件。 我们可以通过运行以下命令来轻松安装Kodi:sudo apt install kodi。
|
2月前
|
Ubuntu 物联网 Linux
从零安装一个Linux操作系统几种方法,以Ubuntu18.04为例
一切就绪后,我们就可以安装操作系统了。当系统通过优盘引导起来之后,我们就可以看到跟虚拟机中一样的安装向导了。之后,大家按照虚拟机中的顺序安装即可。 好了,今天主要介绍了Ubuntu Server版操作系统的安装过程,关于如何使用该操作系统,及操作系统更深层的原理,还请关注本号及相关圈子。
|
2月前
|
Ubuntu Linux 网络安全
Linux服务器之Ubuntu的安装与配置
Ubuntu Desktop是目前最成功、最流行的图形界面的Linux发行版;而Ubuntu Server也在服务器端市场占据了较大的份额。今天为大家详细介绍了Ubuntu Server的安装与配置,希望对你能有所帮助。关于VMware、VirtualBox等虚拟化软件的使用,朱哥还会在后续的文章中为大家详细介绍,敬请关注!
|
16天前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
129 18
|
18天前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
91 15

热门文章

最新文章