ubuntu16.04 编译安卓4.2
1. root@ge-Lenovo:/usr/lib/jvm# cd /home/material/install/jdk/
jdk-6u29-linux-x64.bin jdk-6u45-linux-x64.bin
2. root@ge-Lenovo:/usr/lib/jvm# cp jdk-6u29-linux-x64.bin /usr/lib/jvm/.
3. root@ge-Lenovo:/usr/lib/jvm# cd /usr/lib/jvm/
ls jdk*
jdk-6u29-linux-x64.bin
4. root@ge-Lenovo:/usr/lib/jvm# java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b11)
Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02, mixed mode)
5. root@ge-Lenovo:/usr/lib/jvm# ./jdk-6u29-linux-x64.bin
6. root@ge-Lenovo:/usr/lib/jvm# vim /etc/profile
......
done
unset i
fi
export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_29
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH
7. root@ge-Lenovo:/usr/lib/jvm# source /etc/profile
//只在当前窗口临时起作用
8. root@ge-Lenovo:/usr/lib/jvm# java -version
java version "1.6.0_29"
Java(TM) SE Runtime Environment (build 1.6.0_29-b11)
Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02, mixed mode)
9. 解决编译过程中的各种错误
×××××××××××××××××××××××××××××××××
首先确定自己 PC 上的 make 3.8、gcc 4.4、g++ 4.4 版本
如果不是,分别到 问题 2 、问题 5 部分解决
×××××××××××××××××××××××××××××××××
问题 1:
/bin/bash: bison: command not found
解决方法:
使用sudo apt-get install bison
这个包会依赖如下包:
libbison-dev libsigsegv2 m4 ,apt-get 会自动安装这些依赖包.
问题 2:
build/core/main.mk:45: ********************************************************************************
build/core/main.mk:46: * You are using version 4.1 of make.
build/core/main.mk:47: * Android can only be built by versions 3.81 and 3.82.
build/core/main.mk:48: * see https://source.android.com/source/download.html
build/core/main.mk:49: ********************************************************************************
build/core/main.mk:50: *** stopping。 停止。
解决办法:
如何实现make工具的降版本?
1. 下载make 3.81
make工具的官方镜像地址:http://ftp.gnu.org/gnu/make/ ,下载指定版本的make源码包,这里我们下载make-3.81.tar.gz。
2. 解压make源码包
root@ge-Lenovo:~/桌面/make-3.81# tar -xzvf make-3.81.tar.gz
root@ge-Lenovo:~/桌面/make-3.81# rm make-3.81.tar.gz
root@ge-Lenovo:~/桌面/make-3.81# cd make-3.81/
3. 执行configure
root@ge-Lenovo:~/桌面/make-3.81# ./configure
4. 执行build.sh
root@ge-Lenovo:~/桌面/make-3.81# sh build.sh
5. 安装make
root@ge-Lenovo:~/桌面/make-3.81# make install
6. 替换旧版本make
root@ge-Lenovo:~/桌面/make-3.81# cp make /usr/bin/make
7. 查看版本
root@ge-Lenovo:~/桌面/make-3.81# make -v
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for x86_64-unknown-linux-gnu
问题 3:
找不到xsltproc命令:
解决方法:
root@ge-Lenovo:/opt/FriendlyARM/tiny4412/android-4.2.2_r1# sudo apt-get install xsltproc
问题 4:
/bin/bash: flex: command not found
解决方法:
root@ge-Lenovo:/opt/FriendlyARM/tiny4412/android-4.2.2_r1# sudo apt-get install flex
问题 5:gcc 和 g++ 版本不是 4.4
解决方法:
首先添加ppa到库:
1. sudo add-apt-repository ppa:ubuntu-toolchain-r/test
2. sudo apt-get update
安装:
apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib gcc-4.4-multilib
进入/usr/bin
root@ge-Lenovo:/usr/bin# ls -l gcc*
root@ge-Lenovo:/usr/bin# rm gcc
同理
root@ge-Lenovo:/usr/bin# ls -l g++*
root@ge-Lenovo:/usr/bin# rm g++
创建新版本程序的软链接
root@ge-Lenovo:/usr/bin# ln -s gcc-4.4 gcc
root@ge-Lenovo:/usr/bin# ln -s g++-4.4 g++
问题 6:
缺少库 libz.so.1
解决办法:
sudo apt-get install lib32z1
问题 7:
sh: 1: sh: 1: gperf: not found
gperf: not found
解决办法:
sudo apt-get install gperf
问题 8:
Can't locate Switch.pm in @INC (you may need to install the Switch
module) (@INC contains: /etc/perl /usr/local/lib/perl/5.18.2
/usr/local/share/perl/5.18.2 /usr/lib/ perl5 /usr/share/perl5
/usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl .) at
external/webkit/Source/WebCore/make-hash-tools.pl line 23
解决办法:
sudo apt-get install libswitch-perl
问题 9:
/bin/bash: xmllint: 未找到命令
make: *** [out/target/product/generic/system/etc/apns-conf.xml] 错误 127
解决办法:
apt-get install libxml2-utils
10. gen-img-生成img
[root@localhost android-4.2.2_r1]# pwd
/opt/FriendlyARM/tiny4412/android-4.2.2_r1
1. ./gen-img.sh
+ '[' 0 -ne 0 ']'
gen ramdisk.img
gen ramdisk-u.img
./gen-img.sh: line 39: mkimage: command not found
2. cp /opt/install/mkimage /usr/bin/.
3. ./gen-img.sh
ubuntu16.04 编译安卓4.2的更多相关文章
- Ubuntu16.04编译安装php
#Ubuntu16.04编译安装php Ubuntu16.04上面搭建基于Nginx的php服务.Nginx使用apt直接安装的. sudo apt install nginx php的安装部署步骤主 ...
- Ubuntu16.04编译Android6.0/cm13.0教程及相关错误解决办法
一.必备工作 1.安装依赖库 sudo apt--dev libesd0-dev git-core gnupg flex bison gperf build-essential zip curl zl ...
- ubuntu16.04编译安装mysql-boost-5.7.21并编译成php扩展测试与使用
我之前的文章已经改造了自定义MVC框架中的工具类(验证码,图片上传,图像处理,分类)4个类,接下来,就要改造模型类,模型类肯定要连接数据库,由于我的Ubuntu Linux是裸装的php(目前只编译了 ...
- Ubuntu16.04编译安装tensorflow,2018最新血泪踩坑之后的全面总结!绝对成功!【转】
本文转载自:https://blog.csdn.net/pzh11001/article/details/79683133 大家好,我是 (深度学习硬件DIY总群)(719577294)群主: ...
- ubuntu16.04编译QT5.6所依赖的库
首先在QT的根目录下,阅读README文件! 里面介绍了ubuntu环境下,编译该版本的QT需要安装的包 New dependencies in Qt 5 ------------------- ...
- Ubuntu16.04编译tensorflow的C++接口
原文:https://www.bearoom.xyz/2018/09/27/ubuntu1604buildtf4cpp/ 之前有一篇介绍到在windows下利用VS2015编译tensorflow的C ...
- Ubuntu16.04编译libjpeg-turbo库
一.环境依赖 CMake v2.8.12或以后 NASM or YASM (if building x86 or x86-64 SIMD extensions),如果使用NASM, 依赖2.10之后版 ...
- Ubuntu16.04编译Openjdk8,笔者亲测编译成功
现在很多语言都不开发运行环境了,都选择在JRE上运行,足以证明JVM的优越.你精通了JVM,未来的路才可能走得轻松.这篇文章是你走近jvm的第一篇,编译Openjdk8源码 编译环境 操作系统:Ubu ...
- ORB_SLAM2 Ubuntu16.04编译错误
Ubuntu14.04一切正常,迁移到Ubuntu16.04后编译报错,提示: /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:745:3: ...
随机推荐
- Spring <context:annotation-config> 和 <context:component-scan> 区别
一篇很不错的文章,看到就是赚到Get.... https://www.cnblogs.com/leiOOlei/p/3713989.html 说白了 :<context:component-sc ...
- Linux下的crontab定时执行任务详解
在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间.cron的配置文件称为“cr ...
- 29-jsp中用js进行时间格式转化
CST可以为如下4个不同的时区的缩写: 美国中部时间:Central Standard Time (USA) UT-6:00 澳大利亚中部时间:Central Standard Time (Austr ...
- supervisor安装、使用详解
supervisor是用python写的一个进程管理工具,用来启动,重启,关闭进程. 1 supervisor的安装 pip install supervisor 2 supervisor的配置文件( ...
- js的urlencode
function urlencode (str) { str = (str + '').toString(); return encodeURIComponent(str).replace(/!/g, ...
- Vue 初始化多个Vue 及之间的相互修改
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 什么是MVVM模式
问题引入1 场景一:团队辛辛苦苦完成了一个项目,抱着激动的心情去给用户做demo,而用户给你的反馈是UI很不满意,要重新修改,否则拒绝验收.大规模修改UI,晴天霹雳!2 场景二:产品在一家客户上线运行 ...
- PAT 1028 人口普查(20)(STL-set+思路+测试点分析)
1028 人口普查(20)(20 分) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超 ...
- BZOJ 2594 水管局长 - LCT 维护链信息
Solution 由于链信息不好直接维护, 所以新建一个节点存储边的权值, 并把这个节点连向 它所连的节点 $u$, $v$ $pushup$中更新维护的 $mx$ 指向路径上权值最大的边的编号. 由 ...
- [规则原则定理]规则原则定理章3Java命名规范
JAVA命名规范 驼峰法则: 将所有字母都小写(包括缩写),然后将单词的第一个字母大写. 每个单词的第一个字母都大写,来得到大驼峰式命名. 除了第一个单词,每个单词的第一个字母都大写,来得到(小)驼峰 ...