欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    安卓Android ROM定制移植教程.docx

    • 资源ID:9056857       资源大小:20.95KB        全文页数:11页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    安卓Android ROM定制移植教程.docx

    1、安卓Android ROM定制移植教程CyanogenMOD移植教程转自秋叶随风Ivan;乐蛙论坛等。第一章:环境的搭建一.系统选择和安装建议使用 ubuntu LTS 10.04 X64 新手朋友推荐Deepin Linux 基于ubuntu定制的,适合新手使用系统安装教程,以下方法通用于UBUNTU官方版本U盘安装:光盘安装:搭建android编译环境:英文好的请猛击这里:WIKI:1.安装JDK因为ANDROID大部分东西是java写的,所以首先我们需要安装JDK打开终端按照如下命令输入或者直接复制粘贴:编译android 2.3 或者更新的版本请使用 jdk 6$ sudo add-a

    2、pt-repository deb lucid partner $ sudo apt-get update $ sudo apt-get install sun-java6-jdk如果你需要编译的是2.2以下的版本请使用JDK 5,因为现在大家都是使用 Gingerbread 以上的系统,这里就不介绍jdk5如何安装的了,如果有需要请 度娘 或者 google2.安装各种依赖包64位环境:依然是终端中输入$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6

    3、-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev g+-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc如果这些依赖包依然不能解决你的问题,请参考如下:3.下载代码打开终端:在个人目录下面使用的是android 代替我的工程,用cm7代替 CM7的源码 用CM9代替 CM9的源码如果要更新下载CM7的源码请输入:mkdir -p /binmkdir -

    4、p /android/cm7个人目录下的 bin目录是为了保存repo 等更新脚本的依然再终端输入:curl https:/dl- /bin/repochmod a+x /bin/repo可以把 /bin/repo 加入到环境变量里面 终端输入 sudo gedit /etc/environment 在PATH=“” 加入 PATH=/home/ivanhuang/bin:ivanhuang为个人目录的名称,也就是计算机登录名更改结束之后 终端输入 source /etc/environment就能直接在终端中使用repo 命令了。然后下一步 开始同步代码:依然是打开终端输入 cd andro

    5、id/cm7repo init -u git:/ -b gingerbreadrepo sync -j16这个是更新CM7的源码 Gingerbread分支的如果要更新CM9的源码请输入 mkdir -p android/cm9 repo init -u git:/ -b ics repo sync -j16Ubuntu 中安装配置JDK首先从SUN网站下载JDK然后在shell中执行:代码:sudo chmod +x jdk-6u17-linux-i586.bin修改bin文件权限,使其可执行。然后执行代码:jdk-6u17-linux-i586.bin将会出现字幕,持续按回车键,直到屏幕出

    6、现需要输入yes/no,此时输入yes/y 回车,将会把JDK解压到文件夹,得到jdk1.6.0_17.此时JDK安装完毕。下面进行配置。执行代码:sudo gedit /etc/environment在environment中修改如下信息:PATH=.:/home/cy/jdk1.6.0_17/binCLASSPATH=.:/home/cy/jdk1.6.0_17/libJAVA_HOME=/home/cy/jdk1.6.0_17由于ubuntu中有默认jdk还需要执行如下工作执行代码:sudo update-alternatives -install /usr/bin/java java

    7、/home/cy/jdk1.6.0_17/bin/java 300sudo update-alternatives -install /usr/bin/javac javac /home/cy/jdk1.6.0_17/bin/javac 300通过这一步将,安装的JDK加入java选单然后执行。代码:sudo update-alternatives -config java通过这一步设置系统默认的JDK然后在shell中执行代码:java -version此时显示的系统中的java就是刚刚安装的java第二章:android源码总体结构 Makefile (全局的Makefile文件) bio

    8、nic (Bionic含义为仿生,这里面是一些基础的C库源代码) bootloader (引导加载器)build目录中的内容不是目标所用的代码,而是编译和配置所需要的脚本和工具) build (build目录中的内容不是目标所用的代码,而是编译和配置所需要的脚本和工具) cts (Android兼容性测试套件标准) libcore (核心库相关)Dalvik虚拟机 针对嵌入式设备优化的JavaJava虚拟机) dalvik ( Dalvik虚拟机,针对嵌入式设备优化的Java虚拟机) development (创建应用程序所需要的模板和工具)qcom, device (与具体设备相关的一些编译

    9、脚本和库,如htc,qcom,samsung等) external (Android使用的一些外部的开源框架和库)(应用程序的框架层,SDKSDK的接口基本都是在这里实现的) frameworks (应用程序的框架层,SDK的接口基本都是在这里实现的) hardware (与硬件相关的库)Linux2.6 kernel (Linux2.6的内核源代码) ndk (本地开发套件-C语言开发套件)-CAndroid的各种应用程序) packages (Android的各种应用程序) prebuilt (Android在各种平台下编译的预置脚本) sdk (SDK及模拟器)Android的底层的一些

    10、库) system (Android的底层的一些库) vendor (厂商私有的代码)packages/| apps (各种应用程序,如联系人、浏览器等)| experimental (一些实验性的项目,如错误报告)| inputmethods (输入法相关)| providers (各种数据源实现,如联系人数据、媒体库等信息)| wallpapers (各种壁纸程序)Android Framework功能介绍android.app :提供高层的程序模型和基本的运行环境。android.content :包含对各种设备上的数据进行访问和发布。android.database :通过内容提供者浏

    11、览和操作数据库。android.graphics :底层图形库,包含画布、点、矩形等,可以将其直接绘制到屏幕上。android.location :定位和相关服务的类。android.media :提供一些类管理多种音频、视频的媒体接口。 :提供帮助网络访问的类,超过通常的 .* 接口。android.os :提供了系统服务、消息传输和 IPC 机制。android.opengl :提供 OpenGL 的工具。android.provider :提供访问 Android 内容提供者的类。android.telephony :提供与拨打电话相关的 API 交互。android.view :提供基

    12、础的用户界面接口框架。android.util :涉及工具性的方法,例如时间日期的操作。android.webkit :默认浏览器操作接口。android.widget :包含各种 UI 元素(大部分是可见的)在应用程序的布局中使用build/| buildspec.mk.default| cleanspec.mk| core (各种以mk为结尾的文件,它门是编译所需要的Makefile)| envsetup.sh| libs| target (包含board和product两个目录,为目标所需要文件)| tools (编译过程中主机所需要的工具,一些需要经过编译生成)其中,core中的Mak

    13、efile是整个Android编译所需要的真正的Makefile,它被顶层目录的Makefile引用。 第三章:如何编译一个支持你设备的recovery 前面已经介绍过CyanogenMod是什么东西,以及环境搭建,android源码的大概框架。地址: ,所以这里就不再介绍。 首先要确定你的设备,是否支持刷第三方recovery,或者是否支持fastboot模式,或者是否解锁bootloader,如果你的设备上述都不支持,那么你的机器可能就不能移植第三方系统。如果这样请跳过本文。当你确定你的设备有支持上述所讲的,那么恭喜你,你的设备可以移植第三方系统。 接下来开始干活了,工欲善其事,必先利其器

    14、。制作支持你手持设备的recovery。这里以 中兴n760为例子介绍如何编译 支持中兴n760的recovery. 如果你已经下载了cm源码,请往下看,如果你没有下载源码,请按照前面发的教程下载源码.首先在device目录下面建立一个zte目录,这个目录是厂商的名字,例如中兴就是zte 我就建立zte,华为的话 我就建立huawei,然后在zte 目录下面 建立一个目录为 roamer 这个名字如何得到呢,在手机rom里面 system/build.prop 目录下面 搜索 ro.product.device 你会发现 ro.product.device = roamer 所以我把设备名称定

    15、为 roamer 目录都新建好了之后,我们来看一下 目录树system|-device |-zte |-roamer这个就是目录结构,我们在roamer目录下面,新建recovery_ui.c 这个文件里面是 手机 各按键对应的 按键值,这样写入之后 才能正确选择按键AndroidBoard.mk 连接地址到 kernel AndroidProducts.mk 让编译工具连接到device_roamer.mk BoardConfig.mk 手持设备 机器CPU GPU 型号参数配置device_roamer.mk build.prop信息添加,私有库 xml文件 init文件拷贝 按机器设备d

    16、evice来写 roamer是N760的设备型号kernel 官方提取,boot.img提取 提取可以使用国外高手制作的厨房软件recovery.fstab 手机分区表system.prop 可有可无从官方rom提取,比如 n760 boot.img 里面提取的 init.roamer.rc 文件 这个也是需要这些文件的.首先我们写 AndroidBoard.mk 文件# 这一句的意思的 根目录就是 roamer 目录AndroidProducts.mk 看文件名PRODUCT_MAKEFILES := $(LOCAL_DIR)/device_roamer.mkBoardConfig.mk 设

    17、备的配置文件USE_CAMERA_STUB := true# inherit from the proprietary version-include vendor/zte/roamer/BoardConfigVendor.mkTARGET_NO_BOOTLOADER := trueTARGET_BOARD_PLATFORM := unknownTARGET_CPU_ABI := armeabiTARGET_BOOTLOADER_BOARD_NAME := roamer /此处一版为device# 此处为打包 boot.img 的信息,可以通过厨房 查看到 ,我模糊的记得用厨房解压boot.i

    18、mg的时候的选项应该是 打开厨房,选择0 高级,然后选择 20 ,再选择 S 就能看到下面这三个信息了# dev: size erasesize name# mtd0: 00600000 00020000 recovery# mtd1: 00400000 00020000 boot# mtd2: 00180000 00020000 splash# mtd3: 00080000 00020000 misc# mtd4: 03980000 00020000 cache# mtd5: 0dc00000 00020000 system# mtd6: 0a280000 00020000 userdata

    19、# mtd7: 00100000 00020000 oem# mtd8: 00180000 00020000 persistBOARD_BOOTIMAGE_PARTITION_SIZE := 0x00500000BOARD_RECOVERYIMAGE_PARTITION_SIZE := 0x00600000BOARD_SYSTEMIMAGE_PARTITION_SIZE := 0x0dc00000BOARD_USERDATAIMAGE_PARTITION_SIZE := 0x0a280000BOARD_FLASH_BLOCK_SIZE := 131072# 内核路径TARGET_PREBUIL

    20、T_KERNEL := device/zte/roamer/kernel# 一般情况下,手机没有实体返回键,建议选择这一项,有的手机触摸返回键在recovery下面不能使用的,比如小米手机。BOARD_HAS_NO_SELECT_BUTTON := true# 编译recovery 指定 keymap 文件,看参数 名称就知道了,不懂的可以google翻译device_roamer.mk 这个是编译recovery的时候我写的,有些东西可以不要,以后编译rom的时候需要删除重写的#语言配置文件$(call inherit-product, $(SRC_TARGET_DIR)/product/l

    21、anguages_full.mk)# The gps config appropriate for this device gps配置文件$(call inherit-product, device/common/gps/gps_as_supl.mk)# vendor 私有库配置文件$(call inherit-product-if-exists, vendor/zte/roamer/roamer-vendor.mk)#有些你需要对应用 或者 framework 进行初始化设定值的地方DEVICE_PACKAGE_OVERLAYS += device/zte/roamer/overlay#ke

    22、rnel路径选择ifeq ($(TARGET_PREBUILT_KERNEL),)LOCAL_KERNEL := device/zte/roamer/kernelelseLOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL)endifPRODUCT_COPY_FILES += $(LOCAL_KERNEL):kernel$(call inherit-product, build/target/product/full.mk)PRODUCT_BUILD_PROP_OVERRIDES += BUILD_UTC_DATE=0PRODUCT_NAME := full_roa

    23、merPRODUCT_DEVICE := roamerrecovery.fastab 官方recovery.img提取 自己想个办法,我用厨房提取的全部写好之后 在源码根目录 用终端输入 . build/envsetup.sh 然后输入lunch 选择你的设备然后输入 make recoveryimage 就可以编译了编译结束之后,到out/target/product/roamer目录下面可以发现 recovery.img 这个文件使用fastboot 工具到fastboot 模式下面刷写,刷写命令为 fastboot flash recovery recovery.img教程到此结束,有关如何进入fastboot模式 recovery模式,还有fastboot工具使用,请google 或者 baidu谢谢


    注意事项

    本文(安卓Android ROM定制移植教程.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开