ubunutu20/18/22 编译android 5相关的问题汇总-千里马framework开源代码平板编译过程

news2024/12/28 7:02:35

hi,粉丝朋友们:
闲鱼50块钱淘到了一个开源平板,注意这个平板是有源码的,可以进行相关的编译修改。哈哈哈,马哥这边就体验了一下50块钱平板是否可以拿来做framework呢?
哈哈,说好就开干了,拿到了相关资料,发现居然是aosp 5.0的源码。。。。啥上古神器,不过好歹50块钱,也有aosp源码,还有kernel等还是非常值得,这里进行相关源码的编译,不过高版本ubuntu编译这个android 5.0的源码还是有点坑坑洼洼,记录如下:

编译kernel和uboot部分

相关手把手视频讲解如下:https://www.bilibili.com/video/BV1SF411U73z/
可以看视频联系马哥哈获取更多android framework知识

1安装mkimage

sudo apt-get install u-boot-tools

2 awk regenerate rootfs cpio

11282 blocks
12029 blocks
awk: line 2: function strtonum never defined
awk: line 2: function strtonum never defined

解决方法:
sudo apt-get install gawk

编译android部分

3 hide方法需要,make update-api

直接进行make update-api

4、安装openjdk7

安装包:java-7-openjdk-amd64.tar.gz
(下载地址链接: https://pan.baidu.com/s/1TWr9apWgCaRz6RzFiG33Lw?pwd=d1nq 提取码: d1nq)
使用方法

  1. 拷贝至服务器/个人电脑

  2. 解包
    mkdir /opt/jdk/
    sudo tar -zxvf java-7-openjdk-amd64.tar.gz -C /opt/jdk/

  3. 配置编译环境

JAVA_HOME=/opt/jdk/java-7-openjdk-amd64
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH

$ java -version
java version “1.7.0_121”
OpenJDK Runtime Environment (IcedTea 2.6.8) (7u121-2.6.8-1ubuntu0.12.04.3)
OpenJDK 64-Bit Server VM (build 24.121-b00, mixed mode)

4、出现ld相关错误

编译时候出现如下类是错误

libnativehelper/JNIHelp.cpp:310: error: unsupported reloc 43
根据如上报错信息看到,根源是由于ld报错

解决办法:
把当前系统的ld拷贝到源码的prebuild下

cp /usr/bin/ld.gold prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6/x86_64-linux/bin/ld

最后上一个成功的截图:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1019174.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android13 通知栏和设置显示中添加副屏亮度条,调节副屏亮度

由于台式的Android设备,存在着两个屏幕显示的情况,故需要对Android系统开发一个可以调节副屏亮度的功能。 提交副屏亮度调节的效果如下: 涉及修改的文件如下: frameworks/base/services/core/java/com/android/server/am/Acti…

扔掉你的开发板,跟我玩Mcore-全志h616

本文转载自WhyCan Forum(哇酷开发者社区): https://whycan.com/t_10024.html 作者leefei 这是一个1.69寸触摸小电视。使用全志H616芯片,板上硬件有mpu6050陀螺仪,USB转ttl调试串口,一个USB接口,WIFI&蓝牙&#x…

Promethus(普罗米修斯)安装与配置(亲测可用)

1. 普罗米修斯概述 Prometheus(是由go语言(golang)开发)是一套开源的监控&报警&时间序列数 据库的组合。适合监控docker容器。 Prometheus是最初在SoundCloud上构建的开源系统监视和警报工具包 。自2012年成立以来,许多公司和组织都采用了Prometheus&#…

Matlab图像处理-Lab模型

Lab模型 Lab模型是由CIE(国际照明委员会)制定的一种彩色模型。该模型与设备无关,弥补了RGB模型和CMYK模型必须依赖于设备颜色特性的不足; 另外,自然界中的任何颜色都可以在Lab空间中表现出来,也就是说RGB和…

http-server的安装、前端使用http-server启本地服务

http-server 简介 http-server 是一个简单的零配置的命令行http服务器,它足够强大便于生产和使用,用于本地测试和开发。 有时候我们打开一个文档使用file协议打开的时候,不能发送ajax请求,只能使用http协议才能请求资源&#xff…

河道水位监测,助力守护河流生态可持续发展

河流是地球生命的源泉,它们滋养着万物,为生态系统提供源源不断的能量。然而,随着全球气候变化和人类活动的加剧,河流面临的问题也日益严重,如水位剧烈波动、水质恶化等。河道水位监测对于保护河流生态环境,…

jsp tag文件使用入门

Tag文件是拓展名为.tag的文件,其内容中可以有普通的HTML标记符、某些特殊的指令标记、成员变量声明和方法的定义、java程序片和java表达示。 Tag文件可以实现代码的复用,即一个Tag文件可以被多个jsp页面使用。 在WEB服务目录下创建如下目录, …

Docker 容器设置为自动重启

Docker自动重启原因 Docker自动重启通常是由以下几个原因导致的: 程序崩溃系统内存不足系统进程使用过多CPU和RAM导致的阻塞docker容器被杀死或重新启动,导致应用程序中断网络中断 当这些问题出现时,Docker会自动重启运行中的服务来尝试解…

图解 LeetCode 算法汇总——双指针

双指针算法是一种比较常用于搜索链表或数组相关的问题,很多算法的基本的解题思路就是使用暴力搜索法。而双指针是对暴力搜索的一种优化,通过双指针可以减少数据的遍历次数。通常双指针是有两个指针,叫做 light 左指针和 right 右指针&#xf…

redis 核心数据结构

一、简述 redis是一个开源的使用C语言编写的一个kv存储系统,是一个速度非常快的非关系远程内存数据库。它支持包括String、List、Set、Zset、hash五种数据结构。 除此之外,通过复制、持久化和客户端分片等特性,用户可以很方便地将redis扩展…

Ansys Zemax | 如何建立二向分色分光镜

分光镜(Beam splitter)可被运用在许多不同的场合。一般而言,入射光抵达二向分色分光镜(dichroic beam splitter)时,会根据波长的差异产生穿透或反射的现象。这篇文章将说明如何在OpticStudio的非序列模式(non-sequential mode)中建立二向分色分光镜&…

IT技术总监的成长之路

目录 1.CIO之说 2.新职业机会的出现 3.IT主管的两个发展机会 4.七分管理三分技术的CIO 5.七分技术三分管理的CTO 6.CIO的职业规划要求 6.1. 企业战略管理 6.2.信息资源规划 6.3.生产过程管理 6.4. 项目管理 6.5.物流管理 6.6.网络规划与建设 6.7.信息安全技术 6.…

zabbix网络管理安装教程

安装: apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent 参考资源: 官网: 下载: 其它: 常用指令: 目标与应用价值: 部署难点&#…

友思特新闻|友思特与IDS深化战略合作伙伴关系

尊敬的客户和合作伙伴, 我们非常高兴地宣布,友思特已经与国际领先的机器视觉解决方案提供商 IDS 深化了我们的合作关系。 作为 IDS 的长期合作伙伴,友思特一直致力于为国内客户提供最先进的机器视觉技术和解决方案。 自从友思特与 IDS 合作…

新的~

我昨天加班解决一个概率性出现的bug,这个概率性的问题先介绍下。 の如果正常开机上电,ADC是可以正常工作的,出现问题的时候会开机概率性出现ADC工作不正常,如果工作不正常,重新配置寄存器也不会正常。 の如果开机后ADC…

Ansys Zemax | 光学系统设计中如何使用玻璃替换方法来优化玻璃

在光学系统中选择最优玻璃材料时,Conrady d-D以及模型玻璃等传统的玻璃选择方法提供的帮助有限。本文介绍了如何使用玻璃替换方法进行直接玻璃优化,以及在考虑玻璃的可用性、成本及耐候性等因素时,如何进一步严格挑选玻璃。 简介 玻璃替换方法…

node绿色版本升级

node绿色版本升级 安装绿色版本: 1.非管理员没有安装软件的权限,因此不能直接使用安装包,因此想到了使用绿色版本 2.之前已安装一个版本,因此环境变量的设置已经完成 直接下载绿色的版本,找到之前的安装位置&#xff0…

FX3U PLC高速计数器(摆杆编码器角度测量梯形图代码)

FX3U的高速计数器接线和基本配置,请查看下面文章链接: 三菱FX3U PLC高速计数器应用(附代码)_三菱高速计数器的使用_RXXW_Dor的博客-CSDN博客本文主要以三菱FX3U系列的高速计数为例来讲解,我们简单的看下三菱的编程手册对高速计数器的描述,工业现场建议大家采用AB双向计数…

Gitlab----Shell类型的gitlab-runer设置以root权限执行

【原文链接】Gitlab----Shell类型的gitlab-runer如何设置以root权限执行 1 编辑修改 /etc/systemd/system/gitlab-runner.service 文件,将 --user 修改为 root 2 重启服务 执行如下命令重启 gitlab-runer 服务 systemctl daemon-reload systemctl restart gitlab…

C++项目中mysql的环境配置

第一步创建好项目,选择X64架构 此次项目采用动态库在项目文件夹加入mysql的库分别为libmysql.dll和include 在包含目录中填入相对路径 添加附加依赖项 现在我们写一个开发环境验证代码,检查一下环境是否配置成功 F7生成此时完美运行 至此环境已经配置完成…