最后
都说三年是程序员的一个坎,能否晋升或者提高自己的核心竞争力,这几年就十分关键。
技术发展的这么快,从哪些方面开始学习,才能达到高级工程师水平,最后进阶到Android架构师/技术专家?我总结了这 5大块;
我搜集整理过这几年阿里,以及腾讯,字节跳动,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
2021年虽然路途坎坷,都在说Android要没落,但是,不要慌,做自己的计划,学自己的习,竞争无处不在,每个行业都是如此。相信自己,没有做不到的,只有想不到的。祝大家2021年万事大吉。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化学习资料的朋友,可以戳这里获取
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
$sudo apt-get install libwxgtk2.6-dev zip curl minicom tftpd
$sudo apt-get install uboot-mkimage libx11-dev libncurses-dev
$sudo apt-get install expect bison build-essential flex zlib1g-dev
四. JAVA工具安装
1. JAVA安装时我遇到很多问题:
如果已经安装了sun-java6-jdk,编绎时会提示下列错误:
Your version is: java version “1.6.0_20”.
The correct version is: 1.5.
或者是没有提示,可是最后编绎仍然失败,说找不到很多库.
如果已经安装了sun-java5-jdk,编绎时会提示下列错误:
Your version is: java version “1.5.0_19”
The correct version is: 1.6.
2. 后来我想了一个办法,试了ubuntu9.10和ubuntu10.04都可以正常工作了
安装步骤:
(1). 对于Ubuntu 9.10以上用户,先修改 /etc/apt/sources.list
在结尾增加两行:
deb http://cn.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse
然后执行
$ sudo apt-get update
(2). 安装sun-java6-jdk
$ sudo apt-get install sun-java6-jdk
(3). 卸载sun-java6-jdk
$ sudo apt-get remove sun-java6-jdk
$ sudo apt-get remove sun-java6-bin
(4). 安装sun-java5-jdk
$ sudo apt-get install sun-java5-jdk
安装过程会有一个图形界面,如果你按不了确定,请用TAB键切过去就可以了。
安装完看一下版本
$ java -version
java version “1.5.0_19”
Java™ 2 Runtime Environment, Standard Edition (build 1.5.0_19-b02)
Java HotSpot™ Client VM (build 1.5.0_19-b02, mixed mode, sharing)
至此,开发环境完成!
Android SDK篇
一. 安装repo
01.$ curl http://android.git.kernel.org/repo> /bin/repo
02.$ chmod a+x /bin/repo
复制代码二. 建立工作目录
01.$ export ANDROID=你的android目录 #定义source路径
02.$ mkdir -p $ANDROID
03.$ cd $ANDROID
复制代码三. 下载源码
1. 先下载manifest所有的东东
01.$ repo init -u git://android.git.kernel.org/platform/manifest.git
02.$ repo sync
复制代码1.7G的文件,下载起来不容易,所以这时我们要做好备份工作。
下载完后,有一个隐藏的文件夹".repo",把这个另外保存起来就可以了,其它文件可以删了。
2. 获取 android-2.2_r1.1 项目
(1) 初始化android-2.2_r1.1项目
01.$ repo init -u git://android.git.kernel.org/platform/manifest.git -b android-2.2_r1.1
(复制代码(2) 创建local_manifest.xml文件
01.$ touch .repo/local_manifest.xml
02.$ vi .repo/local_manifest.xml
复制代码
复制下列内容:
01.<?xml version="1.0" encoding="UTF-8"?>
02.
03.
04.
05.
06.
复制代码(3) 同步)(本人认为红色部分可以不做,没什么必要)
01.$ repo sync
复制代码由于前面做过sync工作,所以现在快很多,只用几分钟可完成。
四. I8320 补丁
01.$ cd $ANDROID
02.方法一:直接下载附件,解压到当前目录,可看到vendor文件夹。此方法不推荐,尽供备份。
03.方法二:推荐从 mephistoph 的git仓库里取得最新的vendor:
04.$ git clone git://gitorious.org/h1droid/vendor.git
05.然后将vendor文件夹复制到$ANDROID目录
06.$ cd vendor
07.$ https://blog.csdn.net/2401_84544461/article/details/sola/omap3/patch/omap3-patch.sh
复制代码五. Android编绎
01.$ cd $ANDROID
02.$ source build/envsetup.sh
03.$ lunch i8320board-eng
04.$ make -j3
复制代码五. 为了最后能生成image文件,环境准备工作
01.$ cd $ANDROID
02.$ https://blog.csdn.net/2401_84544461/article/details/vendor/sola/omap3/image/i8320board-image.sh
复制代码六. TI 公司 Android SGX SDK 获取,这是生成SDK image的工具。
1. 安装TI_Android_SGX_SDK
01.$ cd $ANDROID
02.$ git clone git://gitorious.org/rowboat/ti_android_sgx_sdk.git TI_Android_SGX_SDK
03.$ cd TI_Android_SGX_SDK
04.$ https://blog.csdn.net/2401_84544461/article/details/OMAP35x_Android_Graphics_SDK_setuplinux_3_01_00_03.bin
复制代码这时会有界面出来,我们开始安装SDK工具,注意安装目录一定为当前目录(TI_Android_SGX_SDK)。
2. 修改make规则。
安装完毕后,编辑/opt/OMAP35x_Android_Graphics_SDK_3_01_00_03/Rules.make文件。
找到文件中对应的地方,修改下面内容:
01.HOME=$(ANDROID)
02.GRAPHICS_INSTALL_DIR=$(ANDROID)/TI_Android_SGX_SDK
03.ANDROID_ROOT=$(ANDROID)/vendor/sola/omap3/image/i8320board/android
04.CSTOOL_DIR=$(ANDROID)/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/
05.KERNEL_INSTALL_DIR=[color=DarkOrchid]linux内核绝对路径
复制代码3. 执行下列命令注意,每次修改内核kernel部分后也要重新做下面步骤)
01.$ cd $ANDROID/TI_Android_SGX_SDK
02.$ make
03.$ make install OMAPES=3.x
复制代码这时你的SDK image产生了。
七. 复制image到TF卡
TF卡要求: 200M以上,ext3文件系统。
进入 $ANDROID/vendor/sola/omap3/image/i8320board/android 目录,所有文件复制到TF卡根目录。
八. 运行
将I8320进入download状态,然后插上USB线,下载boot.bin
01.$ cd odin
题外话
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多程序员朋友无法获得正确的资料得到学习提升,故此将并将重要的Android进阶资料包括自定义view、性能优化、MVC与MVP与MVVM三大框架的区别、NDK技术、阿里面试题精编汇总、常见源码分析等学习资料。
【Android思维脑图(技能树)】
知识不体系?这里还有整理出来的Android进阶学习的思维脑图,给大家参考一个方向。
希望我能够用我的力量帮助更多迷茫、困惑的朋友们,帮助大家在IT道路上学习和发展~
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化学习资料的朋友,可以戳这里获取
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
图(技能树)】**
知识不体系?这里还有整理出来的Android进阶学习的思维脑图,给大家参考一个方向。
[外链图片转存中…(img-vN19FUbO-1714997206159)]
希望我能够用我的力量帮助更多迷茫、困惑的朋友们,帮助大家在IT道路上学习和发展~
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化学习资料的朋友,可以戳这里获取