zoukankan      html  css  js  c++  java
  • 怎样基于android4.4.2的源代码和android-4.3.1_r1的驱动编译I9250的ROM

    怎样基于android4.4.2的源代码和android-4.3.1_r1的驱动编译I9250的ROM
    作者:雨水  2014-05-04 联系方式:dennis.hu.cd at gmail.com

    说明:经过多番折腾,最终把自己编译的Android4.4.2的源码成功地跑在我的三星Galaxy Nexus I9250手机上了。期间离不开一位外国朋友的帮助,也就是參考资料[1]的作者Sato Kensuke. 这里将过程记录下来,希望对大家有所帮助!

    第一步:下载android-4.4.2_r2的源代码
    參见我前面的文章<基于Ubuntu 14.04 LTS编译Android4.4.2源码>,地址:http://blog.csdn.net/gobitan/article/details/24367439 

    第二步:下载android-4.3.1_r1的device部分源代码
    因为我之前已经所有下载了android-4.3.1_r1的源代码并编译成功执行到我的i9250手机上,详细參考我前面的文章<编译android-4.3.1_r源代码并刷到自己的Galaxy Nexus I9250真机上>,地址:http://blog.csdn.net/gobitan/article/details/24792589。因此我是直接拷贝过去的。仅仅下载指定文件夹源代码的方法是我预计的,未经測试(已于2014-5-5測试成功):
    依照正常下载源码的步骤,在运行repo sync之前,改动.repo/manifest.xml文件,将里面不须要的文件夹所有凝视掉,这样同步的时候应该就仅仅须要同步自己须要的文件夹了,所有下载源码耗时耗空间。

    第三步:替换及改动device部分源码
    1. 备份android-4.4.2_r2的device文件夹;
    2. 用android-4.3.1_r1的device文件夹全然替换android-4.4.2_r2的device文件夹;
    3. 改动诸多文件以使4.3的设备代码适配4.4的源码,过程较为复杂,这里暂不详述;

    第四步:下载i9250的官方驱动并又一次编译
    此步骤与我的<编译android-4.3.1_r源代码并刷到自己的Galaxy Nexus I9250真机上>一文中的第三步全然一样,这里不详述. 參见地址:http://blog.csdn.net/gobitan/article/details/24792589

    第五步:将编译好的img刷到i9250手机上
    (1) 改动~/.bashrc中的环境变量ANDROID_PRODUCT_OUT为:
    export ANDROID_PRODUCT_OUT=/home/dennis/devenv/aosp/out/target/product/maguro
    (2) 又一次进入命令行,然后開始刷机
    dennis@dubuntu1404:~$ adb devices
    List of devices attached
    0146A0D00600900B        device
    dennis@dubuntu1404:~$ adb reboot bootloader
    dennis@dubuntu1404:~$ fastboot flashall -w
    < waiting for device >
    --------------------------------------------
    Bootloader Version...: PRIMEMD04
    Baseband Version.....: I9250XXLJ1
    Serial Number........: 0146A0D00600900B
    --------------------------------------------
    checking product...
    OKAY [  0.007s]
    sending 'boot' (4472 KB)...
    OKAY [  0.587s]
    writing 'boot'...
    OKAY [  0.681s]
    sending 'recovery' (5020 KB)...
    OKAY [  0.659s]
    writing 'recovery'...
    OKAY [  0.798s]
    erasing 'system'...
    OKAY [  0.015s]
    sending 'system' (264925 KB)...
    OKAY [ 34.379s]
    writing 'system'...
    OKAY [ 30.739s]
    erasing 'userdata'...
    OKAY [  0.418s]
    formatting 'userdata' partition...
    Creating filesystem with parameters:
        Size: 14539534336
        Block size: 4096
        Blocks per group: 32768
        Inodes per group: 8144
        Inode size: 256
        Journal blocks: 32768
        Label: 
        Blocks: 3549691
        Block groups: 109
        Reserved block group size: 871
    Created filesystem with 11/887696 inodes and 97200/3549691 blocks
    sending 'userdata' (137559 KB)...
    writing 'userdata'...
    OKAY [ 28.220s]
    erasing 'cache'...
    OKAY [  0.016s]
    formatting 'cache' partition...
    Creating filesystem with parameters:
        Size: 452984832
        Block size: 4096
        Blocks per group: 32768
        Inodes per group: 6912
        Inode size: 256
        Journal blocks: 1728
        Label: 
        Blocks: 110592
        Block groups: 4
        Reserved block group size: 31
    Created filesystem with 11/27648 inodes and 3566/110592 blocks
    sending 'cache' (8832 KB)...
    writing 'cache'...
    OKAY [  2.970s]
    rebooting...
    finished. total time: 99.523s
    dennis@dubuntu1404:~$
    刷好之后,系统会自己主动重新启动。 

    第六步:添加�ducati-m3.bin驱动
    注:假设缺少这一步,会导致相机无法使用。
    1. 下载img
    进入https://developers.google.com/android/nexus/images#takju,然后选择4.3 (JWR66Y)的link下载。然后解压,找到里面的system.img文件,然后从该文件里提取出ducati-m3.bin。
    2. 将其push到/vendor/firmware,參见例如以下:
    (1) 以root身份启动adb 
    dennis@dubuntu1404:~$ adb root
    restarting adbd as root
    (2) 又一次挂在文件系统获取写权限
    dennis@dubuntu1404:~$ adb remount
    remount succeeded
    (3) 将ducati-m3.bin驱动复制到手机的/vendor/firmware文件夹下
    dennis@dubuntu1404:~$ adb push ducati-m3.bin /vendor/firmware
    3772 KB/s (4515868 bytes in 1.168s)
    注:前两步的root和remount不可少,否则你是没有权限拷贝过去的。另外,在一般的产品手机是无法运行上述操作的,这里能够运行是由于我们build的是debug版本号。

    第七步:展示下劳动果实
    在CSDN发文,我基本不用图片,原因是图片常常被弄丢,最后反而影响阅读,这里破例一次,上图!

    图上显示Android版本号为4.4.2及其它版本号信息。

    更新日期:2014-5-4 创建
    更新日期:2014-5-5 调整第五步和第六步的顺序,添加�对权限操作的说明。

    转载请注明出处:作者:雨水,地址:http://blog.csdn.net/gobitan/article/details/25003141 

    參考资料:
  • 相关阅读:
    密码-散乱的密文
    设置nginx服务器
    Postman设置authorization
    mongodb 学习笔记 1
    一道面试题,观察者模式
    laravel-admin form组件
    laravel-admin 管理平台获取当前登陆用户信息
    Laravel-admin安装富文本编辑器 WangEditor 上传图片到服务器,而不是按BASE64保存
    Laravel报错Whoops, looks like something went wrong 解决办法
    菜鸟用composer 安装项目依赖 vendor:当拿到一个Laravel项目时怎么配置本地环境
  • 原文地址:https://www.cnblogs.com/yxwkf/p/3827224.html
Copyright © 2011-2022 走看看