ubuntu24.04编译android7.1.2

提示:


前言

 以s5p6818支持的 android7 为例在ubuntu24.04中编译android7.1.2

friendlyarm android相关源码下载如下:

NanoPC-T3 Plus/zh - FriendlyELEC WiKi


提示:以下是本篇文章正文内容,下面案例可供参考

一、编译环境搭建

1.安装编译环境

1.1 添加清华源

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-backports main restricted universe multiverse

# 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
deb http://security.ubuntu.com/ubuntu/ noble-security main restricted universe multiverse
# deb-src http://security.ubuntu.com/ubuntu/ noble-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-proposed main restricted universe multiverse

参考 :ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

1.2 安装java jdk

sudo apt-get install openjdk-8-jdk

 1.3 安装python2

ubuntu24.04默认安装了python3,在编译android7时会提示 "print xxx" 错误,这是python2的格式,python3不支持.

可以去下载python2的源码进行编译安装,我在编译时遇到了很多问题导致无法编译成功

所以这里我使用conda进行安装

conda create -n test python=2.7.10

二、编译

cd s5pxx18-android-7
source build/envsetup.sh
lunch aosp_nanopi3-userdebug
make -j8

1.错误解决

1.1 报错提示 print xxx

使用python2环境:

conda create -n test python=2.7.10

conda activate test

1.2 报错提示 recipe for target 'ninja_wrapper' failed

增加 

  • export LC_ALL=C

 1.3 报错提示 Jack server failed to (re)start



[ 30% 5156/17130] Ensure Jack server is installed and started
FAILED: /bin/bash -c "(prebuilts/sdk/tools/jack-admin install-server prebuilts/sdk/tools/jack-launcher.jar prebuilts/sdk/tools/jack-server-4.8.ALPHA.jar  2>&1 || (exit 0) ) && (JACK_SERVER_VM_ARGUMENTS=\"-Dfile.encoding=UTF-8 -XX:+TieredCompilation\" prebuilts/sdk/tools/jack-admin start-server 2>&1 || exit 0 ) && (prebuilts/sdk/tools/jack-admin update server prebuilts/sdk/tools/jack-server-4.8.ALPHA.jar 4.8.ALPHA 2>&1 || exit 0 ) && (prebuilts/sdk/tools/jack-admin update jack prebuilts/sdk/tools/jacks/jack-2.28.RELEASE.jar 2.28.RELEASE || exit 47; prebuilts/sdk/tools/jack-admin update jack prebuilts/sdk/tools/jacks/jack-3.36.CANDIDATE.jar 3.36.CANDIDATE || exit 47; prebuilts/sdk/tools/jack-admin update jack prebuilts/sdk/tools/jacks/jack-4.7.BETA.jar 4.7.BETA || exit 47 )"
Writing client settings in /home/lyl/.jack-settings
Installing jack server in "/home/lyl/.jack-server"

删除/etc/java-8-openjdk/security/java.security文件里配置项jdk.tls.disabledAlgorithms中的TLSv1, TLSv1.1
sudo vi /etc/java-8-openjdk/security/java.security  #删除TLSv1 TLSv1.1

./prebuilts/sdk/tools/jack-admin kill-server

./prebuilts/sdk/tools/jack-admin start-server

1.4 报错提示dex2oatd E 217979 217979 art/runtime/gc/heap.cc:324] Could not create image

由于编译环境ubuntu24.04使用的内核为6.5.0-28版本,这里需要使用小于 5.17.

sudo apt-cache search linux-image   #查询列表中可更新的内核
sudo apt-get install linux-image-4.15.0-39-generic  #安装内核
  

重启系统,选择新安装的内核 

2.最终编译

首先编译环境切换到内核 4.15.0 版本

conda activate test

source build/envsetup.sh
lunch aosp_nanopi3-userdebug

export LC_ALL=C
make -j8


总结

这里只记录了大体的流程,不同的编译环境还会遇到一些依赖包等之类的错误,需要自己安装.编译需要的内核版本要小于5.17这个问题网上提到的比较少.需要关注

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值