Tiny4412_Android编译步骤

发布者:钱老李最新更新时间:2018-10-14 来源: eefocus关键字:Tiny4412  Android  编译步骤 手机看文章 扫描二维码
随时随地手机看文章

前言:Android编译对PC机系统性能有要求,建议使用win7 64位操作系统,硬盘最小80GB剩余容量,否则编译Android源码会出现“No space left on device”。

1、搭建好的VMWare 虚拟机:
参考《韦东山Android系统视频使用手册20160303》文档说明,使用已经搭建好的VMWare 虚拟机映象文件,当然也可以参照文档自己安装ubuntu-12.04.5-64bit 系统。

2、设置ubuntu虚拟机的静态IP地址:
参考博文“Ubuntu9.10静态IP设置方法”、“设置ubuntu静态ip并联网”、“ifconfig 后看不到eth0,但是有eth3和eth4”设置ubuntu虚拟机的静态IP地址,然后用CRT即可登录虚拟机,用cuteftp在win之间传输文件;

参考:设置Ubuntu网络更新使用make menuconfig命令

参考:Tiny4412和PC传文件(含挂载NFS文件系统)方法

3、编译Android映像文件:
    ①准备工作:
      目前只需要从网盘下载以下5 个文件:
      Android-5.0.2.part1.rar
      Android-5.0.2.part2.rar
      Android-5.0.2.part3.rar
      Android-5.0.2.part4.rar
      linux-3.0.86-20150324.tgz
      在Windows 下双击“Android-5.0.2.part1.rar”解压,得到android-5.0.2-fs-20150325.tar.gz,把它放到Ubuntu 的/work 目录下再次解压。
   
    ②在Ubuntu 下的解压内核并编译,命令为:
      tar xzf linux-3.0.86-20150324.tgz
      cd linux-3.0.86/
      cp tiny4412_android_defconfig .config
      make zImage
    ③在Ubuntu 下的解压Android 文件系统,命令为:
      tar xzf android-5.0.2-fs-20150325.tar.gz
    注意:在解压得到android-5.0.2 目录后,建议把android-5.0.2-fs-20150325.tar.gz 删掉以防空间不足。
    ④编译Android 系统
      a.进入上述解压得到的android-5.0.2,执行以下命令(注意:“.”号后有一个空格):
         . setenv
      b.再执行“lunch”命令,输入“full_tiny4412-eng”前的数字标号,如下所示:
         $ lunch

         You're building on Linux
         Lunch menu... pick a combo:
         1. aosp_arm-eng
         2. aosp_arm64-eng
         3. aosp_mips-eng
         4. aosp_mips64-eng
         5. aosp_x86-eng
         6. aosp_x86_64-eng
         7. full_tiny4412-userdebug
         8. full_tiny4412-eng
         9. aosp_mako-userdebug
         10. aosp_hammerhead-userdebug
         11. aosp_tilapia-userdebug
         12. aosp_grouper-userdebug
         13. aosp_deb-userdebug
         14. full_fugu-userdebug
         15. aosp_fugu-userdebug
         16. aosp_flo-userdebug
         17. aosp_shamu-userdebug
         18. aosp_manta-userdebug
         19. mini_emulator_mips-userdebug
         20. mini_emulator_x86_64-userdebug
         21. mini_emulator_arm64-userdebug
         22. m_e_arm-userdebug
         23. mini_emulator_x86-userdebug
Which would you like? [aosp_arm-eng] 8           //输入8,表示生成版本full_tiny4412-eng,tiny4412工程机

      c.接着执行“make”命令开始编译,也可以在make 后加上“-j”参数利用CPU 的多核加快编译速度,比如在4 核CPU 上可以执行“make –j4”。
        注意:编译过程可能持续4、5 个小时。
      d.执行以下命令生成映象文件:
        ./gen-img.sh
       
        注意:如果提示如下错误,要先编译u-boot 以得到mkimage 工具,方法见后。
        ./gen-img.sh: line 31: mkimage: command not found
        编译u-boot 以得到mkimage 工具的方法:
        tar xzf uboot_tiny4412-20130729.tgz
        cd uboot_tiny4412/
        make tiny4412_config
        make
        sudo cp tools/mkimage /usr/bin/
        sudo chmod 777 /usr/bin/mkimage
       
运行结果:
book@book-virtual-machine:/work/tiny4412/android-5.0.2$ ./gen-img.sh
Creating filesystem with parameters:
    Size: 629145600
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 7680
    Inode size: 256
    Journal blocks: 2400
    Label:
    Blocks: 153600
    Block groups: 5
    Reserved block group size: 39
Created filesystem with 1943/38400 inodes and 137316/153600 blocks
Creating filesystem with parameters:
    Size: 2149580800
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 7728
    Inode size: 256
    Journal blocks: 8200
    Label:
    Blocks: 524800
    Block groups: 17
    Reserved block group size: 135
Created filesystem with 18/131376 inodes and 17347/524800 blocks
Creating filesystem with parameters:
    Size: 4299161600
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 7952
    Inode size: 256
    Journal blocks: 16400
    Label:
    Blocks: 1049600
    Block groups: 33
    Reserved block group size: 263
Created filesystem with 18/262416 inodes and 35067/1049600 blocks
Creating filesystem with parameters:
    Size: 10485760000
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 8112
    Inode size: 256
    Journal blocks: 32768
    Label:
    Blocks: 2560000
    Block groups: 79
    Reserved block group size: 631
Created filesystem with 18/640848 inodes and 78756/2560000 blocks
Image Name:   ramdisk
Created:      Mon Nov 14 10:40:26 2016
Image Type:   ARM Linux RAMDisk Image (uncompressed)
Data Size:    720530 Bytes = 703.64 kB = 0.69 MB
Load Address: 40800000
Entry Point:  40800000

即可生成ramdisk-u.img、system.img、userdata.img等映像文件。

    ⑤编译Android源码生成Android Studio所使用的索引文件:
      a.进入Android 源码根目录执行:
        mmm development/tools/idegen/
      这行命令的意思是编译idegen这个项目,生成idegen.jar文件.生成成功后,会显示这个jar包的位置,并显示
      #### make completed successfully (6 seconds) ####

      注意:如果执行mmm命令出现“No command 'mmm' found”,则需要参考博文“No command 'mmm' found”解决,即使用m、mm、mmm命令之前要在android源码目录下执行命令:
      . build/envsetup.sh

      b.生成索引文件:
        sh ./development/tools/idegen/idegen.sh
      这行命令的意思是生成对应的文件:android.iws, android.ipr, android.iml .如果生成失败,后面也会讲到这种情况.
     

执行第二个命令的时候,碰到下面的问题:

Exception in thread "main"
at
at
at
at Configuration.parsePackageName(Configuration.
at Configuration.rootOf(Configuration.
at Configuration.traverse(Configuration.
at Configuration.traverse(Configuration.
at Configuration.traverse(Configuration.
at Configuration.traverse(Configuration.
at Configuration.traverse(Configuration.
at Configuration.traverse(Configuration.
at Configuration.traverse(Configuration.
at Configuration.traverse(Configuration.
at Configuration.(Configuration.
at Main.main(Main.

解决办法是将

./out/target/product/hammerhead/obj/GYP/shared_intermediates/res.java
修改为:
./out/target/product/hammerhead/obj/GYP/shared_intermediates/res.j
即可.

注意:参照Android源码目录并未找到该目录,查找以后发现目录已经变更为:
android-5.0.2/out/target/product/tiny4412/obj/GYP/shared_intermediates
     
于是执行以下命令:
sudo mv ./out/target/product/tiny4412/obj/GYP/shared_intermediates/res.java ./out/target/product/tiny4412/obj/GYP/shared_intermediates/res.j
再返回执行“b.生成索引文件”,得到:android.iml、android.ipr

    ⑥使用Android Studio查看Android源码:
        生成对应的文件后,打开Android Studio,选择打开一个现有的Android Studio项目,选择Android源码的根目录,导入即可(起作用的是android.irp文件).在配置sdk版本之后就可以查看Android 源码了.


关键字:Tiny4412  Android  编译步骤 引用地址:Tiny4412_Android编译步骤

上一篇:Tiny4412-实验指令笔记
下一篇:Exynos4412电源管理芯片PMIC 的配置及使用方法

推荐阅读最新更新时间:2024-03-16 16:16

谷歌最新Android Auto 7.3即将发布 UI界面优化
日前,据一家AndroidWorld网站爆料指出,谷歌即将发布最新的Android Auto 7.3版本,新系统对UI界面进行了全新设计,整体布局与Apple CarPlay十分类似。据悉谷歌将会在今年夏季正式对外推送7.3版本,如果等不及的用户也可以提前在Google Play商店中自行下载安装。 从曝光的截图来看,Android Auto 7.3系统包括显示电量、网络、时间和地点的状态栏等信息都进行了位置调整,更新后将集中放在画面右下方,而左下方则是主页按钮,用户长按可打开小部件,这个布局跟Apple CarPlay类似。此外,在新系统中还增加了分屏设计,左边可显示音乐控制和电话等,右边则会显示地图和导航信息
[汽车电子]
谷歌最新<font color='red'>Android</font> Auto 7.3即将发布 UI界面优化
速度快6倍的安卓7.0推送时间确定!果粉都心动
    据官方消息称,Android N,即Android牛轧糖,就是大家所说的Android 7.0将于今年夏天晚些时候正式发布,应该就是八月底九月初的这个时候。   安卓系统目前已经拥有全球84%的智能手机市场份额。据说,新系统将会拥有更长的待机时间,多窗口的用户扩展体验以及直接回复通知等功能。下面是安卓7.0的一些改进和新特性:   分屏多任务处理   进入后台多任务管理页面,然后按住其中一个卡片,然后向上拖动至顶部即可开启分屏多任务,支持上下分栏和左右分栏,允许拖动中间的分割线调整两个App所占的比例。   目前,安卓7.0开发者预览版支持全部第三方应用尝试分屏操作,但个别应用适配可能存在问题,分屏后可
[手机便携]
安卓之父的Essential手机融资3亿美元 估值已达10亿
腾讯科技讯 据外媒报道,携新款智能机重出江湖后,安卓之父安迪-鲁宾的新创公司Essential拿到了3亿美元投资,这笔钱将帮助它们在竞争激烈的消费电子市场杀出一条血路。 市场研究公司Equidate分析师表示,融资后的Essential公司估值将从9亿美元上涨至10亿美元,成为新的独角兽。 据悉,这笔融资在Essential的智能手机和智能音箱发布前就完成了,不过投资者的身份现在还是个谜,Essential公司发言人对此事也拒绝发表评论。 鲁宾2014年离开谷歌(微博)后成立了科技孵化器Playground Global,这家公司就是Essential的前身。Equidate分析师表示,融资后Playground Gl
[手机便携]
高通骁龙8 Plus曝光:台积电4nm工艺 安卓最强芯
今天下午,博主@数码闲聊站爆料,小米正在打磨高通SM8475,这是高通下半年要商用的旗舰处理器,命名为骁龙8 Plus,是骁龙8的小幅升级版。   与骁龙8对比,骁龙8 Plus最大的升级是采用了台积电4nm工艺(骁龙8使用三星4nm工艺)。   此前业内人士@手机晶片达人爆料,由台积电代工的骁龙8 Plus最快会在2022年第二季度交付,CPU主频为2.99GHz,依然是“1+3+4”三丛集架构,由超大核Cortex X2、大核Cortex A710和小核Cortex A510组成,GPU有小幅升级。   毫无疑问,骁龙8 Plus的安兔兔综合成绩将会再创新高。目前搭载骁龙8的红魔7安兔兔综合成绩已经突破了110万分,
[手机便携]
高通骁龙8 Plus曝光:台积电4nm工艺 <font color='red'>安卓</font>最强芯
Android生态系统危机扩大 微软渔翁得利
    苹果本来占据优势,裁决对它有利,这让硬件商到运营商都不高兴。一直以来,美国运营商 AT&T、Verizon Wireless和Sprint Nextel饱受分析师批评,因为它们为iPhone支付高额补贴。运营商也知道补贴比Android手机高很多。去年,Sprint因为向苹果支付155亿美元购买iPhone,股价大跌。去年四季度,由于消费者大量采购iPhone,AT&T的利润下滑。对于最新的裁定,运营商要么不愿置评,要么拒绝置评。 不过,如果没有了iPhone运营商会更糟糕。美国第四大运营商T-Mobile USA已经在流失客户,关键的一个原因是没有iPhone。   正因如此,运营商祈求有人能削弱苹果的地位。美国运营商最近
[手机便携]
曝Palm智能手机下半年回归,运行安卓系统
一位不愿透露姓名的消息人士告诉外媒Android Police,Verizon可能会在今年下半年推出一款新的Palm手机。去年8月份TCL的一位高管向荷兰的Android Planet确认,该公司将在今年推出Palm手机。 iframe marginheight="0" src="http://img.adbox.sina.com.cn/ad/28543.html" frameborder="0" marginwidth="0" /iframe   除了发布日期之外,还有一些细节。根据Android Police的报道,这款手机预计将运行Android操作系统,据报道,TCL将再次跟旧合作伙伴Verizon合作发布此款手机,
[手机便携]
Android 11 Go发布:专给小内存手机设计 应用启动速度快20%
新浪数码讯 9月11日早间消息,Android 11刚刚发布,谷歌又面向低配机型推出了Android 11 Go。这是一个专为入门级手机设计的Android版本,对当前的Android系统进行简化,使其可以在小内存手机上运行。   谷歌表示,有超过1亿台入门级手机将在今年获得更新支持。Android 11 Go现在支持2GB的RAM(之前为1.5GB),为用户提供了270MB的可用空间,足以“在后台运行三到四个应用程序”。为此,应用启动速度提升了20%,从而可以在不降低手机速度的情况下更快地切换应用程序。   2GB设备上的Android Go版本还支持多达900MB的额外存储空间。不仅如此,Android 11 Go也加入
[手机便携]
乔布斯摧毁安卓遗愿未了 Android4.0反攻iOS5
    日前,谷歌以纪念乔布斯为由,推迟了Android4.0的发布,看似感人的景象,却潜藏杀机;10月24日全球开售的《乔布斯传》揭露了乔布斯生前鲜为人知的一段“遗愿”,他立志不惜耗尽苹果400亿美元的现金储备也要 “摧毁”安卓。这让推迟的Android4.0发布充满针锋相对的火药味。   这次与苹果iOS5的竞争,Android4.0显然有备而来,且针锋相对。谷歌将安卓阵营中最有实力的苹果 “克星”三星推向前台,如三星GALAXYNexus机型配置为:8.84毫米厚,4.65英寸HDSuperAMOLED屏幕,720P分辨率,1.2GHz双核处理器,支持LTE,蓝牙3.0。操作系统上,VoiceActions语音命令对阵Siri
[手机便携]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved