前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >8G内存的电脑编译不了Android O系统?

8G内存的电脑编译不了Android O系统?

作者头像
安智客
发布2018-07-30 14:27:23
2K0
发布2018-07-30 14:27:23
举报
文章被收录于专栏:安智客

Android系统的编译工作始终是一件基础性工作,但是随着Android版本的不断升级、Ubuntu的升级、JDK版本的升级等等、以及各种第三方依赖库、不同的系统配置不同的人编译会有不同的问题,同一个人在不同的时间编译也可能会遇到问题。AndroidO版本推出不到一年,据说目前只有百分之一的手机在用,这不,AndroidP版本马上就要出来了!

Google对Android O的编译要求是这么建议的:

(https://source.android.com/setup/build/requirements)

安智客今天要呈现的是一个失败的、初级的问题,也就是Android O的编译问题,在服务器上2小时完成的编译,为啥在安智客好不容易升级成8G内存的电脑上弄了2天呢?现在把几个主要问题记录一下:

1,JDK版本问题,这个是最基础问题还是记录一下。

解决办法:这个最好办:

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

java –version

其他,还有一些Ubuntu版本导致的库的问题,这个是时候,差什么就安装什么了!

2,ln问题。

解决办法,

当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。

比如:ln -srf build/soong/root.bp Android.bp

3,出现oversize超了的错误,说明要修改默认配置。

解决办法:

因为默认是16G内存,所以需要修改配置。

修改Jack的配置文件prebuilts/sdk/tools/jack-admin

JACK_SERVER_COMMAND="java -XX:MaxJavaStackTraceDepth=-1-Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -Xmx3000m-cp$LAUNCHER_JAR $LAUNCHER_NAME"

先停止服务./prebuilts/sdk/tools/jack-admin stop-server 重新开始服务./prebuilts/sdk/tools/jack-admin start-server

最后终于编译通过!

附录:jack的错误往往很纠结,可以参照:

大家都遇到过一些什么有趣且能涨知识的问题呢,欢迎讨论!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-05-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 安智客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档