记录Android新产品添加的过程

前言

刚进入这个公司对于Android软件开发不熟悉,经过一次Android入门培训后,导师给我安排一些学习任务。

  1. 从git上 拉取giec-base分支到自己的x.x.10.16目录下
  2. 添加一个自己命名的机型(lunch),并编译出某芯片的image
  3. 将image烧录在真机上运行,验证机型名称。
  4. 将代码提交到ZHAN虚拟机上的gitlab站点
  5. 学习git,产生一篇学习文档

过程

在刚开始学习Android新产品添加的过程中,遇到了不少的坑,如由于编译环境没配置后导致的编译失败,或者刚从git上拉取的代码没有给文件夹配置“chmod 777”权限,导致找不到gcc等,编译失败。最后在同事的耐心帮助下都逐一解决了。现在记录一下新产品的添加过程:

  1. 先在device/amlogic目录下,拷贝一份能运行的项目,如“ampere”。
  2. 拷贝的副本,重命名为新产品的名称,如“ajie_test”。
  3. “vendorsetup.sh”脚本文件,修改已当前产品命名的编译名称。这样在使用“lunch”命令选择产品编译时,就会出现“ajie_test-userdebug”的选项。
add_lunch_combo ajie_test-userdebug
  1. 修改“AndroidProducts.mk”文件内容,这个文件一般只是做转向作用,转向到以该产品命名的makefile文件。
PRODUCT_MAKEFILES := $(LOCAL_DIR)/ajie_test.mk
  1. 把原来“ampere.mk”文件重命名为当前产品名称“lihj_test.mk”,修改以下几个属性:
PRODUCT_DIR := lihj_test
# 产品名称
PRODUCT_NAME := lihj_test
# 设备名称
PRODUCT_DEVICE := lihj_test
# 品牌名称
PRODUCT_BRAND := Droidlogic
PRODUCT_MODEL := lihj_test
# 制造商
PRODUCT_MANUFACTURER := Droidlogic
  1. 修改“BoardConfig.mk”的内容,此文件用于填写目标架构、硬件设备属性、编译器的条件标志、分区布局、boot 地址、ramdisk 大小等一系列参数。
PRODUCT_DIR := ajie_test
TARGET_BOOTLOADER_BOARD_NAME := ajie_test
  1. 修改“Android.mk”文件内容,Android.mk文件是Android系统下编译某个模块的标准makefile,多个模块组成一个产品。
ifeq ($(TARGET_PRODUCT),lihj_test)
LOCAL_PATH := $(call my-dir)
include $(call all-makefiles-under,$(LOCAL_PATH))
endif

其他的文件没看懂,就先不动,改完后正常编译就行。


收获

通过添加一个Android新产品(虽然是直接拷贝原来能运行的项目)、编译出image、烧录到真机、运行检验,最后通过了验证。对这个Android软件开发的基本流程已经有了一个基础的概念,后续先把Git和Linux shell 学习后在请教导师下一步的任务。

  1. 刚开始接到任务后,是有点兴奋的,终于能实操了,而不是停留在理论知识上。
  2. 当天晚上还失眠了,因为后续的操作,基本上有了思路,只需要往下执行就行。所以闭上眼睛就想到那些操作的后续等等,导致我辗转反侧到5点多才睡着!
  3. 在有限的精力下,我除了要去掌握工作所需的专业技能外, 还需要强化自身的素质,如英语不好,要每天背单词;字写的不好看,要每天练练字;待人处事方面不圆滑,要多多书。

憧憬

指定了人生目标与短期任务后,就努力去做吧。未来的你会感谢当前努力的你,起码不能让未来的自己憎恨当下的你。虽说离朝暮之年还有相当长的一段时间,但是知识快速积累的黄金时期,其实只有你从大学毕业到未恋爱和结婚之前,想想也就是几年的时间。当你恋爱或结婚后,你就精力就要分配到配偶、孩子身上了,而且生活的压力会直接倍增。所以好好把握这几年的时间,尽自己最大的可能去提升核心竞争力,变得不可替代。

猜你喜欢

转载自blog.csdn.net/xiaojie201314/article/details/126028029