ununtu 14.04 安卓7.0 编译
来源:互联网 发布:哈佛大学知乎 编辑:程序博客网 时间:2024/06/16 08:35
Android 7.0 编译
1、编译环境
ubuntu 14.04 64位 (必须64位)
gcc 4.8.4
硬盘容量: 100G +
内存:8G
安装ubuntu后,换源,使用国内163源
sudo apt-get update //更新源
sudo apt-get upgrade //更新系统,会自动更新到gcc 4.8.4
2、安装编译环境 jdk ,所需的是open jdk 1.8
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk
sudo update-alternatives --config java
sudo update-alternatives–-config javac
解压之后,会在本文件中生成一个 .repo 的隐藏文件(使用ll命令可以查看隐藏文件)
此时,需要进行同步,将完整的android源码同步下来,使用repo sync 进行同步,不过此时repo 工具还没有安装,安装repo 工具
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
上面过程中,会提示没有curl 工具,还要安装curl:
sudo apt-get install curl
同步源代码:
安装完成后,执行pepo sync 命令:
$repo sync
此时,出现错误
Error:Gitconfig: [Errno 2] No such file or directory
原因:应该是没有安装git
解决办法:
sudo apt-get install git
sudo apt-get install git-core
再次运行repo sync
运行不久后再次出现错误:
Fetching projects: 98% (502/512)
error: Exited sync due to fetch errors
解决办法:重新运行repo sync可以的到解决,直到同步完成
$ mkdir Android
$ cd Android
repo初始化
$ repo init -u git://android.git.kernel.org/platform/manifest.git
在此过程中需要输入名字和email地址。初始化成功后,会显示:
repo initialized in /android
在~/Android下会有一个.repo的隐藏目录(使用ll 命令可以查看隐藏文件)。
同步源代码
$ repo sync
4、编译源码
增加ccahe 的大小(在当前编译目录下执行命令)
export USE_CCACHE=1
export CCACHE_DIR=.ccache
$source build/envsetup.sh
$lunch
$make -j4
编译过程中的错误提示:
错误1:
flex-2.5.39: fatal internal error, exec of /usr/bin/m4 failed
解决办法:安装bison (语法分析生成器)
/bin/bash: xmllint: command not found
解决办法:
sudo apt-get install libxml2-utils
错误3:
/bin/sh: 1: lzop: not found
解决办法:
sudo apt-get install lzop
错误4:
FAILED: /bin/bash out/target/common/obj/JAVA_LIBRARIES/core-all_intermediates/with-local/classes.dex.rsp
Java heap space
Try increasing heap size with java option '-Xmx<size>'
Warning: This may have produced partial or corrupted output.
ninja: build stopped: subcommand failed.
build/core/ninja.mk:146: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1
\#### make failed to build some targets (05:44 (mm:ss)) ####
解决办法:---配置heap size 大小
$:export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4096m"
$:out/host/linux-x86/bin/jack-admin kill-server
$:out/host/linux-x86/bin/jack-admin start-server
错误5:
Internal compiler error (version 1.3-b8 'Douarn' (395600 eb49254e63b960b5a42dd28dcb1d46f28496395d by android-jack-team@google.com)).
Warning: This may have produced partial or corrupted output.
[ 82% 32919/39701] Building with Jack:...sr166-tests_intermediates/classes.jack
ninja: build stopped: subcommand failed.
make: *** [ninja_wrapper] Error 1
#### make failed to build some targets (04:33:35 (hh:mm:ss)) ####
编译器内部错误:我是重新编译了一次。
编译结束:
Creating filesystem with parameters:
Journal blocks: 7168
Label: system
Blocks: 458752
Block groups: 14
Reserved block group size: 111
Created filesystem with 1961/114688 inodes and 164035/458752 blocks
[100% 31172/31172] Install system fs i... out/target/product/generic/system.img
out/target/product/generic/system.img+ maxsize=1918388736 blocksize=2112 total=1879048192 reserve=19379712
1、编译环境
ubuntu 14.04 64位 (必须64位)
gcc 4.8.4
硬盘容量: 100G +
内存:8G
安装ubuntu后,换源,使用国内163源
sudo apt-get update //更新源
sudo apt-get upgrade //更新系统,会自动更新到gcc 4.8.4
2、安装编译环境 jdk ,所需的是open jdk 1.8
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk
sudo update-alternatives --config java
sudo update-alternatives–-config javac
3、下载android 7.0 源码
(1)使用已有的包(部分源码 23.1G,我所使用的)
创建一个文件夹Android,将已有源码拷贝到文件夹下解压
mkdir Android
tar -xvf repo.tar.gz解压之后,会在本文件中生成一个 .repo 的隐藏文件(使用ll命令可以查看隐藏文件)
此时,需要进行同步,将完整的android源码同步下来,使用repo sync 进行同步,不过此时repo 工具还没有安装,安装repo 工具
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
上面过程中,会提示没有curl 工具,还要安装curl:
sudo apt-get install curl
同步源代码:
安装完成后,执行pepo sync 命令:
$repo sync
此时,出现错误
Error:Gitconfig: [Errno 2] No such file or directory
原因:应该是没有安装git
解决办法:
sudo apt-get install git
sudo apt-get install git-core
再次运行repo sync
运行不久后再次出现错误:
Fetching projects: 98% (502/512)
error: Exited sync due to fetch errors
解决办法:重新运行repo sync可以的到解决,直到同步完成
(2)源码包完全网上下载(没做)
初始化repo$ mkdir Android
$ cd Android
repo初始化
$ repo init -u git://android.git.kernel.org/platform/manifest.git
在此过程中需要输入名字和email地址。初始化成功后,会显示:
repo initialized in /android
在~/Android下会有一个.repo的隐藏目录(使用ll 命令可以查看隐藏文件)。
同步源代码
$ repo sync
4、编译源码
增加ccahe 的大小(在当前编译目录下执行命令)
export USE_CCACHE=1
export CCACHE_DIR=.ccache
prebuilts/misc/linux-x86/ccache/ccache -M 50G
$source build/envsetup.sh
$lunch
$make -j4
编译过程中的错误提示:
错误1:
flex-2.5.39: fatal internal error, exec of /usr/bin/m4 failed
解决办法:安装bison (语法分析生成器)
sodu apt-get install bison
错误2:
/bin/bash: xmllint: command not found
解决办法:
sudo apt-get install libxml2-utils
错误3:
/bin/sh: 1: lzop: not found
解决办法:
sudo apt-get install lzop
错误4:
FAILED: /bin/bash out/target/common/obj/JAVA_LIBRARIES/core-all_intermediates/with-local/classes.dex.rsp
Java heap space
Try increasing heap size with java option '-Xmx<size>'
Warning: This may have produced partial or corrupted output.
ninja: build stopped: subcommand failed.
build/core/ninja.mk:146: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1
\#### make failed to build some targets (05:44 (mm:ss)) ####
解决办法:---配置heap size 大小
$:export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4096m"
$:out/host/linux-x86/bin/jack-admin kill-server
$:out/host/linux-x86/bin/jack-admin start-server
错误5:
Internal compiler error (version 1.3-b8 'Douarn' (395600 eb49254e63b960b5a42dd28dcb1d46f28496395d by android-jack-team@google.com)).
Warning: This may have produced partial or corrupted output.
[ 82% 32919/39701] Building with Jack:...sr166-tests_intermediates/classes.jack
ninja: build stopped: subcommand failed.
make: *** [ninja_wrapper] Error 1
#### make failed to build some targets (04:33:35 (hh:mm:ss)) ####
编译器内部错误:我是重新编译了一次。
编译结束:
Creating filesystem with parameters:
Journal blocks: 7168
Label: system
Blocks: 458752
Block groups: 14
Reserved block group size: 111
Created filesystem with 1961/114688 inodes and 164035/458752 blocks
[100% 31172/31172] Install system fs i... out/target/product/generic/system.img
out/target/product/generic/system.img+ maxsize=1918388736 blocksize=2112 total=1879048192 reserve=19379712
1 0
- ununtu 14.04 安卓7.0 编译
- ununtu编译android源码
- ununtu
- 安卓7.0源码编译
- ununtu 14.04下安装postgresql9.3.4
- mint or ununtu 编译 codeblocks 带插件的版本
- 安卓源码编译
- 安卓编译错误
- 安卓编译工具
- 安卓源码编译
- 编译安卓源码
- 安卓编译出错
- 安卓编译流程
- 建立安卓编译环境
- 安卓-编译过程简述
- 安卓编译、反编译链接
- openssl 安卓编译 裁减
- unity 编译安卓出错
- qmake的介绍
- 适配swift3
- 论文笔记《A CNN Regression Approach for Real-Time 2D/3D Registration 》
- unix的grep命令
- F - Dreamoon and WiFi 组合数学
- ununtu 14.04 安卓7.0 编译
- iOS App组件化开发实践
- C++並發 練習筆記(二)使用boost Asio的async I/O技術實作簡易網路聊天室 (下)
- rac重启遭遇ORA-01078、ORA-01565、ORA-17503、ORA-12547
- Spark之中map与flatMap的区别
- qmake之qmake的安装
- Hello World!
- Servlet学习之六cookie的用法
- 性能优化汇总