编译安卓源码生成rom_编译安卓源码生成的固件显示recovery分区不够

hacker|
243

文章目录:

如何利用安卓源代码开发ROM

你要从安卓,java

c++,硬件,底层一步一步做起。这是一个很复杂的过程,一个人的精力想要把源码制作出比较出色的rom是相当困难的。所以现在好多rom的开发团队成立了,比较突出的有miui,CM等,个人通过源码开发的rom,速度很慢,没有时间做较深入的优化。如果你真要开发rom,可以把基础学好了,加入开发团队,去开发rom也是不错的

android源码编译后如何制作成rom?

编译生成的 boot.img, system.img, userdata.img 用fastboot 就可以直接刷到机器去啊!由于android源码里不包含手机的驱动,所以编译前需要将驱动先提出来以备后用!

怎样从源码编译rom

本帖最后由 pigjohn 于 2014-2-10 20:24 编辑

一、你需要:

1.linux系统环境

教程使用ubuntu 12.04(LTS)

硬盘安装或虚拟机安装应该都ok。

2.电脑配置不要太差

二、搭建编译环境:

1.java安装配置

1) 删除旧版本java

ctrl+alt+t 打开终端。

sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*

sudo apt-get purge sun-java

复制代码

2) 安装java 1.6

添加软件源,打开终端输入

sudo add-apt-repository ppa:webupd8team/java

复制代码

下载安装,打开终端输入

sudo apt-get update sudo apt-get install oracle-java6-installer

复制代码

跟随屏幕提示,你需要接受使用条款。

安装完成后,终端输入java -version,你会看到java版本信息。类似

java version “1.6.0_37″

Java(TM) SE Runtime Environment (build 1.6.0_37-b06)

Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01, mixed mode)

复制代码

2.安装依赖软件

sudo apt-get install git-core gnupg flex bison gperf build-essential \

zip curl zlib1g-dev zlib1g-dev:i386 libc6-dev lib32ncurses5-dev \

ia32-libs x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 \

lib32z-dev libgl1-mesa-dev g++-multilib mingw32 \

tofrodos python-markdown libxml2-utils xsltproc readline-common \

libreadline6-dev libreadline6 lib32readline-gplv2-dev libncurses5-dev \

lib32readline5 lib32readline6 libreadline-dev libreadline6-dev:i386 \

libreadline6:i386 bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev lib32bz2-dev \

libsdl1.2-dev libesd0-dev squashfs-tools pngcrush schedtool libwxgtk2.6-dev

复制代码

等待安装配置完成

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

复制代码

三、源码下载

1.repo脚本下载

$ mkdir ~/bin

$ PATH=~/bin:$PATH

$ curl [url][/url] ~/bin/repo

$ chmod a+x ~/bin/repo

复制代码

2.初始化repo同步

mkdir ~/cm11

cd ~/cm11

repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0

复制代码

你需要按提示输入用户名和邮箱。

3.9003device源码

cd ~/cm11/.repo

mkdir local_manifests cd local_manifests

gedit roomservice.xml

复制代码

粘贴以下内容

?xml version="1.0" encoding="UTF-8"?

manifest

project name="dhiru1602/android_device_samsung_galaxysl" path="device/samsung/galaxysl" remote="github" revision="cm-11.0" /

project name="dhiru1602/android_vendor_samsung_galaxysl" path="vendor/samsung/galaxysl" remote="github" revision="cm-11.0" /

project name="dhiru1602/android_kernel_samsung_latona" path="kernel/samsung/latona" remote="github" revision="cm-11.0" /

project name="CyanogenMod/android_packages_apps_SamsungServiceMode" path="packages/apps/SamsungServiceMode" remote="github" revision="cm-11.0"/

/manifest

复制代码

保存。

4.同步源码

cd ~/cm11

repo sync -j8

复制代码

源码有好几个G,同步时间长短取决于你的网络速度。

四、编译

1.编译之前同步最新源码

repo sync

复制代码

2.初始化环境

. build/envsetup.sh

复制代码

3.编译

brunch galaxysl

复制代码

接着喝杯茶,编译时间长短取决于你的电脑配置。

不出意外,你会最终得到~/cm11/out/target/product/galaxysl/cm-11-XXXXX-UNOFFICIAL-galaxysl.zip

五、刷机测试

以上就是编译cm11的过程。

对于其他rom,类似。

mokee:

mkdir ~/mokee cd ~/mokee

repo init -u -b kk_mkt

3条大神的评论

  • avatar
    访客 2022-07-01 上午 10:37:36

    络速度。四、编译1.编译之前同步最新源码repo sync复制代码2.初始化环境. build/envsetup.sh复制代码3.编译brunch galaxysl复制代码接着喝杯茶,编译时间长短取决于你的电脑配置。不出意外,你

  • avatar
    访客 2022-07-01 下午 01:47:50

    inux系统环境教程使用ubuntu 12.04(LTS)硬盘安装或虚拟机安装应该都ok。2.电脑配置不要太差二、搭建编译环境:1.java安装配置1) 删除旧版本javactrl+alt+t 打开终端。sudo apt-get purge openjdk-\* icedte

  • avatar
    访客 2022-07-01 下午 03:38:04

    4-Bit Server VM (build 20.12-b01, mixed mode)复制代码2.安装依赖软件sudo apt-get install git-core gnupg flex bison gperf build-essential \ zip curl zlib1g-dev z

发表评论