展讯-源码编译

news2024/10/6 12:20:18

1.硬件要求

编译主机要求,注意尽量不要使用虚拟机

CPU:Intel(R) Core(TM) i7-4790 CPU @ 3.60 GHz
内存:8G
硬盘:500G SSD
Ubuntu 版本:Ubuntu 64-bit 14.04.5 LTS

这是最低版本要求,实际性能越高越好

2.开发环境配置

1. 使用 apt-get 安装编译依赖库:

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc

2. 使用 apt-get 安装 OpenJDK 8:

sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update 
sudo apt-get install openjdk-8-jdk

若同时安装了 OpenJDK 7 和 OpenJDK 8,使用以下命令选择 OpenJDK 8:

sudo update-alternatives --config java

安装相关软件包

apt-get update
apt-get upgrade
apt-get install -y git vim ssh sudo 

//开启i386支持
dpkg --add-architecture i386
apt-get update

sudo vim /etc/apt/sources.list  //在行尾添加如下两行的内容
deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse

sudo apt-get update 
apt-get -y install libesd0-dev
sudo apt-get install -y gnupg flex bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 libc6-dev lib32z1 x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev g++-multilib openjdk-8-jdk binutils-mingw-w64 tofrodos python-markdown libxml2-utils xsltproc genisoimage bc libxml-libxml-perl libssl-dev python-sqlite policycoreutils make libxml-simple-perl python2.7 libx11-dev:i386 libgl1-mesa-dev g++-multilib git libncurses5-dev:i386 tofrodos python-markdown libxml2-utils zlib1g-dev:i386 gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev libgl1-mesa-dev libxml2-utils unzip m4 lib32z-dev ccache dpkg-dev libsdl1.2-dev libesd0-dev libncurses5 libjpeg62 libjpeg62-dev python3-pip git-core gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libgl1-mesa-dri:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32z1 lib32ncurses5 x11proto-core-dev libx11-dev libreadline-gplv2-dev lib32z1-dev libgl1-mesa-dev g++-multilib openjdk-8-jdk binutils-mingw-w64 tofrodos python-markdown libxml2-utils xsltproc genisoimage python-imaging bc libxml-libxml-perl libssl-dev python-imaging python-sqlite policycoreutils openjdk-8-jdk make libxml-simple-perl cpio

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc

sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

sudo apt-get -y install software-properties-common
sudo apt-get update

Android10.0需要安装openjdk1.8,依次执行:

sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update 
sudo apt-get install openjdk-8-jdk

java -version

3.源码编译

准备 Android 代码,进入代码目录后执行以下命令整编 Android,命令中的 n 表示 CPU 线程数。

注意:
如果user和userdebug切换的时候,要把out文件夹直接删除

Userdebug 版本编译:

cp -rf vendor/sprd/release/IDH/uis8581e5h10_Natv-userdebug-native/out/ .
cp -rf vendor/sprd/release/IDH/uis8581e5h10_Natv-userdebug-native/bsp/ .
source build/envsetup.sh
lunch uis8581e5h10_Natv-userdebug-native
make –jn 

User 版本编译:

cp -rf vendor/sprd/release/IDH/uis8581e5h10_Natv-user-native/out/ .
cp -rf vendor/sprd/release/IDH/uis8581e5h10_Natv-user-native/bsp/ .
source build/envsetup.sh
lunch uis8581e5h10_Natv-user-native
make –jn

编译完成后,生成的镜像文件位于代码目录

$AndroidCodeDir/out/target/product/uis8581e5h10

4.单独编译镜像

执行以下命令可以单独编译 Android 某一镜像,命令中的 n 表示 CPU 线程数。

先执行:

cp -rf vendor/sprd/release/IDH/uis8581e5h10_Natv-userdebug-native/out/ .
cp -rf vendor/sprd/release/IDH/uis8581e5h10_Natv-userdebug-native/bsp/ .
source build/envsetup.sh
lunch uis8581e5h10_Natv-userdebug-native

1. 编译 u-boot:

make bootloader –jn

编译完成后将在$AndroidCodeDir/out/target/product/uis8581e5h10目录下生成文件u-boot-sign.bin和fdl2-sign.bin。

2. 编译 fdl1 和 uboot-16k:

make chipram –jn

编译完成后将在$AndroidCodeDir/out/target/product/uis8581e5h10 目录下生成文件 fdl1-sign.bin 和 u-boot-spl-16k-sign.bin。

3. 编译 boot

make bootimage –jn

编译完成后将在$AndroidCodeDir/out/target/product/uis8581e5h10 目录下生成文件 boot.img。

4. 编译 dtbo

make dtboimage –jn

编译完成后将在$AndroidCodeDir/out/target/product/uis8581e5h10 目录下生成文件 dtbo.img。

5. 编译 userdata

make userdataimage –jn

编译完成后将在$AndroidCodeDir/out/target/product/uis8581e5h10 目录下生成文件 userdata.img。

6. 编译 super

make superimage –jn

编译完成后将在$AndroidCodeDir/out/target/product/uis8581e5h10 目录下生成文件 super.img。

5.无线投屏

安卓连接WIFI

获取手机的IP地址

adb tcpip 5555
adb connect 192.168.1.189:5555
scrcpy

取消连接

adb disconnect 192.168.1.189:5555

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

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

相关文章

尽管担任社长 宫崎英高95%时间还是在做游戏

宫崎英高表示,虽然他是 FromSoftware 工作室的社长,但他日常工作的绝大部分时间都是在指导游戏开发。因魂系列大获成功而成为 FromSoftware 社长的宫崎英高在接受《卫报》采访时表示,企业高管生活并不是他的兴趣所在。 “我喜欢帮助年轻的监督…

数据库精选题(一)(关系数据库设计)

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀数据库 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 前言 练习题 题型一:判断关系…

在scrapy中使用Selector提取数据

经院吉吉: 首先说明一下,在scrapy中使用选择器是基于Selector这个对象滴,selector对象在scrapy中通过XPATH或是CSS来提取数据的,我们可以自己创建selector对象,但在实际开发中我们不需要这样做,因为respons…

DAY10-力扣刷题

1.最后一个单词的长度(简单) 58. 最后一个单词的长度 - 力扣(LeetCode) 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子…

8.华为两台交换机的三种连接方式access 、trunk、undo portswitch

目的:两台三层交换机的三种连接方式 1.access 2.trunk 3.undo portswitch 模拟机不支持此配置,实体机支持 第一种access CE1配置 [~HUAWEI]vlan batch 10 [~HUAWEI]int Vlanif 10 [~HUAWEI-Vlanif10]ip add 10.10.10.1 24 [~HUAWEI]int g1/0/0 [~HUAWE…

空间复杂度 线性表,顺序表尾插。

各位少年,大家好,我是那一脸阳光,本次分享的主题是时间复杂度和空间复杂度 还有顺序表文章讲解和分享,如有不对可以评论区指导。 时间复杂度例题 // 计算斐波那契递归Fib的时间复杂度? long long Fib(size_t N){if(N…

用友U9-UBF自定义报表-打印模板开发学习笔记

自定义报表、打印模板开发学习笔记 一、基础了解 1、UBF开发工具的了解 Ideconfig.xml配置 True:打印、报表设计模式 False:单据设计模式 2、开发环境试用 BE:实体项目 BF:操作项目 SV:服务项目 分析项目&am…

昨天gitee网站访问不了,开始以为电脑哪里有问题了

昨天gitee网站下午访问不了,开始以为是什么毛病。 结果同样的网络,手机是可以访问的。 当然就ping www.gitee.com 结果也下面那样是正常的 以为是好的,但就是访问www.gitee.com也是不行,后来用阿里云的服务器curl访问是下面情况&…

当flex-direction: column时,设置flex:1不生效解决办法

当需求是: 页面纵向排列,且最后一个元素撑满剩余高度 flex:1在横向排列时是可以的,但是纵向排列会失效,此时需要给最后一个子元素设置align-self: stretch;即可撑满剩余高度 <div class"father"><div class"child child1"></div><div…

2021数学建模C题目– 生产企业原材料的订购与运输

C 题——生产企业原材料的订购与运输 思路&#xff1a;该题主要是通过对供应商的供货能力和运送商的运货能力进行估计&#xff0c;给出合适的材料订购方案 程序获取 第一题问题思路与结果&#xff1a; 对 402 家供应商的供货特征进行量化分析&#xff0c;建立反映保障企业生…

配置 python 脚本操作Excel 环境

在已装python的前提下 一、安装依赖库 pip install pandas pip install openpyxl安装完后&#xff0c;可以在 Python 中运行以下命令来查看 pandas 或 openpyxl 的安装路径&#xff1a; import pandas as pd print(pd.__path__)import openpyxl print(openpyxl.__path__)二、测…

Redis数据过期、淘汰策略

数据过期策略&#xff1a; 惰性删除&#xff1a; 设置该key过期时间后&#xff0c;我们不去管它&#xff0c;当需要该key时&#xff0c;我们在检查其是否过期&#xff0c;如果过期&#xff0c;我们就删掉它&#xff0c;反之返回该key。 这种方式对cpu友好&#xff08;只在用…

lambdastreammaven

1.Lambda &#xff08;1&#xff09;Java 8 Lambda 表达式 在 Java 8 以前&#xff0c;若我们想要把某些功能传递给某个方法&#xff0c;总要去写内部类 或匿名内部类类。代码示例&#xff1a; list.sort(new Comparator<User>() { Override public int compare(User …

C语言| 数组倒置算法

数组倒置 方法一 1 定义两个数组a[5] b[5],两个循环变量i j 2 用for循环&#xff0c;把数组a的最后一个数&#xff0c;赋值给数组b第一个元素 3 输出数组b 【程序代码】 #include <stdio.h> int main(void) { int a[5] {11, 22, 33, 44, 55}; int b[5]; …

nodejs从基础到实战学习笔记-nodejs简介

一、Node.js简介 • Node.js是一个能够在服务器端运行JavaScript的开放源代码、跨平台JavaScript运行环境。 • Node采用Google开发的V8引擎运行js代码&#xff0c;使用事件驱动、非阻塞和异步I/O模型等技术来提高性能&#xff0c;可优化应用程序的传输量和规模。 1.1 特性 …

PPT的精细化优化与提升策略

&#x1f44f;&#x1f44f;&#x1f44f;欢迎来到我的博客 ! 亲爱的朋友们&#xff0c;欢迎您们莅临我的博客&#xff01;这是一个分享知识、交流想法、记录生活的温馨角落。在这里&#xff0c;您可以找到我对世界独特视角的诠释&#xff0c;也可以与我一起探讨各种话题&#…

【SAP ME 42】关于SAP ME自定义开发中NWDS中配置JDK

1、NWDS启动配置JDK -vm C:/Java/jdk1.8.0_361/bin 2、开发组件配置JDK

一种简单的图像分析

简介 一种简单的边界分析&#xff0c;通过相邻的像素的灰度进行判断&#xff0c;计算出边界。 测试1 原图 结果 测试2 原图 结果 代码说明 主要的技术在makeTable过程中&#xff0c;这个过程主要执行了以下几步 计算每个像素的灰度计算相邻多个像素的最大灰度差统计灰度差…

GPT-4o目前暂无音频输出的能力

OpenAI的发布会惊艳的操作&#xff0c;近乎实时的语音对话&#xff0c;让很多人向往。 但实际上Chat对话时&#xff0c;尚无输出音频的能力&#xff0c;可能还未开放。 这是国外的一个开发小哥的交流帖子&#xff0c;可能还需要些时日才能用的上实时的音频输出。 不过当前Op…

Python MicroPython库:嵌入式开发

更多Python学习内容&#xff1a;ipengtao.com MicroPython是一种精简高效的Python解释器&#xff0c;专为运行在微控制器和受限环境下设计。它支持大多数Python语法和标准库&#xff0c;同时提供了丰富的硬件控制接口&#xff0c;使开发者能够用Python编写嵌入式应用。MicroPyt…