展讯-源码编译

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

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值