(Ubuntu 18.04) Android framework R版本S版本环境配置及使用 ninja 快速编译
Android R 和S版本的编译,首先是环境配置,配置好环境之后,需要的不仅仅是push framework.jar 这么简单,需要push的还有其生成的附属文件。如果是make framework 后面只能编译一个寂寞,需要 make framework-minus-apex services,才能生成对应的jar包。
1.环境配置(Ubuntu 18.04)
安装openjdk8-jdk
sudo apt-get install openjdk-8-jdk
安装fastboot
sudo apt-get install android-tools-fastboot
安装依赖库
sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib
sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386
sudo apt-get install tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
sudo apt-get install dpkg-dev libsdl1.2-dev libesd0-dev
sudo apt-get install git-core gnupg flex bison gperf build-essential
sudo apt-get install zip curl zlib1g-dev gcc-multilib g++-multilib
sudo apt-get install libc6-dev-i386
sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev
sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4
sudo apt-get install lib32z-dev ccache
sudo apt-get install libssl-dev
如果安装libesd0-dev报错 按照如下安装方式安装。
Ubuntu18.04 安装libesd0-dev
2.编译Framework
进入源码根目录
1.source build/envsetup.sh
2.lunch xxxx-userdebug
3.make framework-minus-apex services -j16
4.cp prebuilts/build-tools/linux-x86/bin/ninja out/host/linux-x86/bin/
如碰到无 out/host/linux-x86/bin/ 目录 可直接mkdir out/host/linux-x86/bin/
再执行上面的命令。
5.cp prebuilts/build-tools/linux-x86/lib64/* out/host/linux-x86/lib64/
如碰到无 out/host/linux-x86/lib64/ 目录 可直接mkdir out/host/linux-x86/lib64/
再执行上面的命令。
6.ln -sf out/combined-xxx.ninja build.ninja
7.编译之后可以用 ninja 命令实行快速编译
8.ninja framework-res -j16 (编译 framework-res.apk非必须选项)
比如 ninja framework-minus-apex services -j16
执行完成上面的步骤,需要把如下文件对应的文件push到手机对应的版本里面,方便的模式是将下面的脚本保存为一个脚本直接执行比较方便。
3.push文件
ninja framework-minus-apex services -j16
adb root
adb remount
#如果当前操作是在源码根目录下操作,该路径不用改动,否则要根据自己的实际路径修改
# xxx代表自己编译的版本
OUT=out/target/product/xxxx
adb push $OUT/system/framework/boot-framework.vdex /system/framework/
adb push $OUT/system/framework/arm/boot-framework.art /system/framework/arm
adb push $OUT/system/framework/arm/boot-framework.oat /system/framework/arm
adb push $OUT/system/framework/arm64/boot-framework.vdex /system/framework/arm64/
adb push $OUT/system/framework/arm64/boot-framework.art /system/framework/arm64
adb push $OUT/system/framework/arm64/boot-framework.oat /system/framework/arm64
adb push $OUT/system/framework/arm/boot-framework.vdex /system/framework/arm/
adb push $OUT/system/framework/services.jar system/framework/
adb push $OUT/system/framework/framework.jar system/framework/
adb push $OUT/system/framework/framework-res.apk system/framework/
adb reboot
更多推荐
所有评论(0)