千古八方的博客

  • 程序开发
    • Android
    • Spring Boot
  • 数据私有化
    • NAS
    • 私有云
    • 内网穿透
    • 服务器
  • 留言
  • 搞事
进学
为学无间断,如流水行云,日进而不已也
  1. 首页
  2. Android
  3. 正文

ubuntu 18.04 LTS 上编译 RK3399 Android 7.1 遇到的错误及解决方法

2022年6月27日 299点热度 0人点赞 0条评论

ubuntu 18.04 LTS 上编译 RK3399 Android 7.1 遇到的错误及解决方法

目录
一、 编译前需要的配置及软件
1. 确保swap交换分区至少4G以上,可以通过以下方法修改,并挂载
2. 需要预先安装的软件,及jdk配置
二、编译时遇到的错误及解决方法
1. 错误: flex-2.5.39: loadlocale.c
2. 错误: Makefile:167: recipe for target 'kernel.img' failed
3. 错误: ninja.mk:148: recipe for target 'ninja_wrapper' failed
4. 错误: Out of memory error (version 1.2-rc4 'Carnac'
Android 系统编译相关文章

一、 编译前需要的配置及软件

1. 确保swap交换分区至少4G以上,可以通过以下方法修改,并挂载
$ sudo fallocate -l 4G /swapfile  
$ sudo chmod 600 /swapfile
$ sudo mkswap /swapfile
$ sudo swapon /swapfile
$ sudo vim /etc/fstab

#在/etc/fstab 文件最后添加如下内容:/swapfile none swap sw 0 0
2. 需要预先安装的软件,及jdk配置
$ sudo add-apt-repository ppa:openjdk-r/ppa
$ sudo apt-get update
$ sudo apt-get install uuid \
uuid-dev \
zlib1g-dev \
liblz-dev \
liblzo2-2 \
liblzo2-dev \
lzop \
git-core curl \
u-boot-tools \
mtd-utils \
android-tools-fsutils \
openjdk-8-jdk \
device-tree-compiler \
gdisk \
m4 \
libz-dev
$ sudo apt install gcc
$ sudo apt install gcc-multilib
$ sudo apt instal libxml2 libxml2-utils
// 查看openjdk安装版本:
$ update-java-alternatives -l
// 修改openjdk版本java-1.8.0-openjdk-amd64 
$ sudo update-alternatives --config java

 

二、编译时遇到的错误及解决方法

1. 错误: flex-2.5.39: loadlocale.c
FAILED: /bin/bash -c "prebuilts/misc/linux-x86/flex/flex-2.5.39 -oout/host/linux-x86/obj/STATIC_LIBRARIES/libaidl-common_intermediates/aidl_language_l.cpp system/tools/aidl/aidl_language_l.ll"
flex-2.5.39: loadlocale.c:130:_nl_intern_locale_data: ?? 'cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' ???
Aborted (core dumped)

解决方法:  

export LC_ALL=C.UTF-8
2. 错误: Makefile:167: recipe for target 'kernel.img' failed
arch/arm64/Makefile:167: recipe for target 'kernel.img' failed
make: *** [kernel.img] Error 127

解决方法:

sudo apt install gcc-multilib
3. 错误: ninja.mk:148: recipe for target 'ninja_wrapper' failed
build/core/ninja.mk:148: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1

解决方法:

build-rk3399-all.sh 文件头添加 export LC_ALL=c 并安装以下库
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
sudo apt-get install m4
4. 错误: Out of memory error (version 1.2-rc4 'Carnac'
Out of memory error (version 1.2-rc4 'Carnac' (298900 f95d7bdecfceb327f9d201a1348397ed8a843843 by android-jack-team@google.com)).
GC overhead limit exceeded.
Try increasing heap size with java option '-Xmx<size>'.
Warning: This may have produced partial or corrupted output.
第一种解决方法:
这是一个管理Jack的shell脚本,修改Jack的配置文件prebuilts/sdk/tools/jack-admin,找到start-server函数,调整最大内存使用率,修改其启动参数如下:
JACK_SERVER_COMMAND="java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -cp $LAUNCHER_JAR $LAUNCHER_NAME"
更改为
JACK_SERVER_COMMAND="java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -Xmx4096m -cp $LAUNCHER_JAR $LAUNCHER_NAME"

由于此时Jack服务器仍然在后台执行,需要重启启动Jack服务器,使得修改后的参数生效。(make会自动启动Jack服务器)

重启Jack服务器命令如下:
#停止服务
./prebuilts/sdk/tools/jack-admin stop-server

#重新开始服务
./prebuilts/sdk/tools/jack-admin start-server

 

第二种解决方法:

在shell里临时设置JACK的最大内存使用量,如下:
export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4096m"

Android 系统编译相关文章

  • RK3399 Android7.1系统,GPIO控制详解
  • RK3399 Android7.1系统,GPIO内核驱动开发
  • ubuntu 18.04 LTS 上编译 RK3399 Android 7.1 遇到的错误及解决方法
标签: Android系统编译
最后更新:2022年6月28日

千古八方

物格而后知至,知至而后意诚,意诚而后心正

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

千古八方

物格而后知至,知至而后意诚,意诚而后心正

最新 热点 随机
最新 热点 随机
火狐下远离内容农场的方法! 中国城市生活成本查询 Debian11 系统备份与灾备盘制作 Debian logwatch 自定义配置文件,根据规则忽略掉某些日志内容 Ampache 5.0 报错 The root Ampache folder has changed to ./public socat 正反向传输文件
自建NAS,如何备份数据? Linux SSH 仅允许指定用户远程登录 自建私有云,使用 smart 监控硬盘健康状态,出错发邮件报警 Haproxy搭配NPS内网穿透,获取客户端的源IP 自建 NAS, 系统安全防护配置(一) - 防火墙篇 实现秒开1Mbps带宽的NAS上的网站
分类
  • Android
  • Linux
  • NAS
  • Spring Boot
  • Windows
  • 内网穿透
  • 回忆
  • 基于NEAT的瞎几把寻思算法笔记
  • 散篇
  • 普通人的致富之路在哪里
  • 服务器
  • 未分类
  • 私有云
标签聚合
Nextcloud 群晖NAS 服务器 内网穿透 Spring Boot NAS Android Utils 散篇 私有云 安全维护 Android Widgets Android系统编译 我开源的APP ubuntu NPS TrueNAS Windows linux
工具/友链

资源导航 – NAS、私有云存储
在线工具 – MD5、SHA、BASE64、URL编解码
在线工具 – 贷款计算器
在线工具 – IPv4/IPv6地址查询

千古八方 在 B站

千古八方 在 知乎

我的微信小程序:
微信小程序-城市生活成本查询
城市生活成本查询
库房物资流水记账簿
最近评论
Avatar photo
千古八方 发布于 1 个月前(12月28日) 重置命令是Nextcloud提供的,和哪个平台没关系。 如果报错,一般是路径或权限的问题导致的。 ...
Avatar photo
aron 发布于 1 个月前(12月24日) 博主你好 我的nextcloud管理员密码过期了 用了occ命令重置但是报错,能请教下是什么原因...
Avatar photo
千古八方 发布于 2 个月前(12月15日) 贝塞尔这个类在这里 https://gitee.com/aityu/AndroidUtils/blo...
Avatar photo
disco 发布于 2 个月前(12月05日) 有demo链接吗?贝塞尔曲线这个关键类没有写出来~
Avatar photo
HJM 发布于 3 个月前(10月20日) 必须点赞!很有效!

COPYRIGHT © 2022 千古八方的博客. ALL RIGHTS RESERVED.

京ICP备14020471号