android 源码编译
Posted 蚂蚁穴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 源码编译相关的知识,希望对你有一定的参考价值。
今天终于下载android 源码成功,现在记录下编译方法,以备后续之需
1.更新配置jdk
sudo apt-get update:更新软件 sudo apt-get install openjdk-7-jdk:更新jdk
2.设置java版本
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javac
提示说只有一个版本,不需要进行设置
3.执行命令
sudo apt-get install bison g++-multilib git gperf libxml2-utils make python-networkx zlib1g-dev:i386 zip
遇到如下错误提示
下列软件包有未满足的依赖关系: g++-multilib : 依赖: cpp (>= 4:4.8.2-1ubuntu6) 但是它将不会被安装 依赖: gcc-multilib (>= 4:4.8.2-1ubuntu6) 但是它将不会被安装 依赖: g++ (>= 4:4.8.2-1ubuntu6) 但是它将不会被安装 依赖: g++-4.8-multilib (>= 4.8.2-5~) 但是它将不会被安装 E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
进行如下的方法解决此问题
sudo apt-get install g++-multilib(ok)
sudo apt-get install bison git gperf libxml2-utils make python-networkx zlib1g-dev:i386 zip(ok)
4.更新gcc,ok
sudo apt-get install gcc
5.在.bashrc中添加如下内容
export USE_CCACHE=1
6.运行如下命令
prebuilts/misc/linux-x86/ccache/ccache -M 50G
这个命令看起来像是设置缓存区域大小的.
7.设置环境
source build/envsetup.sh
8.选择target
lunch
这个应该是选择编译的模式的,如root还是eng
这个我选择的是一
9.进行编译
make -j4
编译报错
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/bin/arm-linux-androideabi-strip:out/target/product/generic/symbols/system/lib/libwebviewchromium.so: File format not recognized
网上查找对策
似乎网上说的是跟一个swap有关,进行如下设置
1)sudo dd if=/dev/zero of=/opt/swap1 bs=1024 count=1024000 2) sudo mkswap /opt/swap1 3) sudo swapon /opt/swap1 4) sudo vim /etc/fstab
增加如下内容
/opt/swap1 swap swap defaults 0 0
用同样的方法,增加swap2
进行了上面的设置,方法编译结果还是错误的。继续查找方法
原来,只需要把源码的out目录删除,然后重新编译就行了
如果你想要结束swap分区,然后重新设置分区大小,可以使用如下命令
sudo /sbin/swapoff /opt/swap2
以上是关于android 源码编译的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向Android 逆向通用工具开发 ( Android 平台运行的 cmd 程序类型 | Android 平台运行的 cmd 程序编译选项 | 编译 cmd 可执行程序 )(代码片段
Android 插件化VirtualApp 源码分析 ( 目前的 API 现状 | 安装应用源码分析 | 安装按钮执行的操作 | 返回到 HomeActivity 执行的操作 )(代码片段
Android 逆向整体加固脱壳 ( DEX 优化流程分析 | DexPrepare.cpp 中 dvmOptimizeDexFile() 方法分析 | /bin/dexopt 源码分析 )(代码片段
错误记录Android Studio 编译报错 ( Could not determine java version from ‘11.0.8‘. | Android Studio 降级 )(代码片段
错误记录Android Studio 编译报错 ( Could not determine java version from ‘11.0.8‘. | Android Studio 降级 )(代码片段