• android源码下载以及编译自己的ROM


    android源码下载以及编译自己的ROM

    最近发现kernel.org被墙了,为什么这种网站也能被墙了?

    要想下载源码的话,只能绕过去了。下面是我从网上搜索到的一些下载方法;

    ==============================================================================================

    原文链接是:http://cache.baidu.com/c?m=9d78d513d98316ed05fa950e1a67a371685497153ac0a61f6b93d3169c3e1d070571e2c83a3f46599699223a52f95e5c9da177246b1420c0c79fce578be6d77471d574626d4bc61a43d11ea4ca5b24c524905ce2a5&p=882a9f0c909d12a058aedc3d56&user=baidu&fm=sc&query=repo%CF%C2%D4%D8&qid=fe5fa7bb12281bb9&p1=1

    kernel.org无法访问导致android的源码无法下载,这是另外一个git服务器的android源码的repo文件。 

    操作如下

    $ curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo" > ./repo //获取repo

    $ chmod a+x repo

    $ PATH= ~/omap4/L27.12.1-P2/mydroid:$PATH

    下面就是获取源码了:

    repo init -u git://git.omapzoom.org/platform/omapmanifest.git -b 27.x -m RLS27.12.1-P2_Gingerbread.xml

    repo sync

    ################################################

    ################################################

    另外,如何编译自己的ROM呢?现在网上找到很多第三方的ROM,比如MIUI,CM,OXYGEN都是如何搞出来的?

    终于,从CM官方wiki上找到答案。大家可以从上面下载源码,然后自己编译玩玩。

    http://wiki.cyanogenmod.com/wiki/HTC_Desire_(GSM):_Compile_CyanogenMod_(Linux)

    编译一般流程: source build/envsetup.sh -> lunch -> m | mm | mmm

    我自己用G7(必须要ship off才行)试过下面这种搭配:

    1 boot.img用CM最新的,通过fastboot flash boot xxxx/boot.img方式烧写boot

    2 system.img用google源码编译,下面是大体步骤

      2.1 source build/envsetup.sh --->设置环境变量

      2.2 choosecombo,选择默认

      2.3 export TARGET_PRODUCT=full_passion  这个是官方源码提供的HTC Passion的样板(在device/htc目录下),

      2.4 make systemimage。这样就可以编译system.image了。这个速度还行,4核,1.8G内存,虚拟UBUNTU10.04,大概30分钟左右

      2.5 fastboot flash system xxxx/system.img,把system烧上去

     3 问题解决

      1 android framework肯定跑不起来,原因是audio没有正确的so,所以跑不起来。修改方法,只能换成使用GENERIC_AUDIO方式了。

     2 按键不是很正常。没关系,下载miui的G7 update包,解开,将system/usr/keychars/bravo-keypad.kcm.bin 和system/usr/keylayout/bravo-keypad.kl 通过adb push到手机对应目录下。

    4 最终

      能跑,但是速度很慢,因为我编的是eng版。这个可能不是最终的原因。我发现显示有点问题,老是闪,估计是显示那块的libgalloc.so有问题,可能得用G7的。

     不过终于能自己编译ROM了,以后定制化就方便多了。

    下一步要基于CM的版本试试看。

    ################################################

    ################################################

    1. htc rom刷机步骤如下:

         adb reboot bootloader

         sudo `which fastboot` flash zip **_partial.zip

         sudo `which fastboot` flash zip **_sign.zip

         sudo `which fastboot` reboot

    若是htc手機,fastboot 改爲 ./htc_fastboot

      sudo ./htc_fastboot flash zip 333397-001_M7_Generic_WWE_K442_CRC_Sense60_Stable_MR2_partial.zip
      ls
      sudo ./htc_fastboot flash zip 333397-001_M7_Generic_WWE_K442_CRC_Sense60_Stable_MR2_signed.zip

    2. 刷机步骤如下:

    修改Framework源碼之後,可以通過以下批處理命令將編譯後的系統文件燒到模擬器中去:

    #!/bin/sh

    ANDROID_SRC_DIR='/work/aosp'

    cd ${ANDROID_SRC_DIR}

    EMU_KERNEL=" ./prebuilts/qemu-kernel/arm/kernel-qemu"

    #EMU_KERNEL=" ./out/target/product/generic/kernel-qemu"

    SYS_IMG=" ./out/target/product/generic/system.img"

    RAD_IMG=" ./out/target/product/generic/ramdisk.img"

    CACHE_IMG=" ./out/target/product/generic/cache.img"

    DATA_IMG=" ./out/target/product/generic/userdata.img"

    EMU_BIN="./prebuilts/android-emulator/linux-x86_64/emulator"

    #####-data ${DATA_IMG}

    ${EMU_BIN} -avd AVD_4.0 -kernel ${EMU_KERNEL} -system ${SYS_IMG} -ramdisk ${RAD_IMG} -cache ${CACHE_IMG} 

  • 相关阅读:
    qs.stringify() 和JSON.stringify()的区别 飞鸟和蝉
    js随机数, 范围随机数 飞鸟和蝉
    VUECLI 4的跨域解决方案
    vue3elementadmin
    English dedicate 致力 题献
    解决java web项目导入后出现的问题 cannot be read or is not a valid ZIP file
    SQL 优化原则(转)
    Java Spring Error : Bean property '*****' is not writable or has an invalid setter method.
    c++面试题:#define MIN(A,B) ( (A) <= (B) ? (A) : (B) )
    freemark list 循环变量类型错误问题
  • 原文地址:https://www.cnblogs.com/larack/p/3906673.html
Copyright © 2020-2023  润新知