学好Framework要掌握哪些

文章介绍了学习AndroidFramework前需要掌握的基础知识,包括Linux使用、Shell编程、C/C++、Java、Go和Python的基本了解、JNI技术、软件构建工具如Make、Soong和Bazel,以及Linux系统编程和内核基础。作者计划分享一系列相关文章以帮助学习者逐步进入AndroidFramework的学习。
摘要由CSDN通过智能技术生成

工欲善其事,必先利其器。只有打好了基础,才能自如地应对 Android Framework 的学习,这些基础知识主要包括了:

  • 熟悉 Linux 的基本使用

  • 熟悉 Linux Shell,了解 Python Go

  • 熟悉 C 和 C++

  • 熟悉 Java

  • 熟悉 Make Soong Bazel CMake 软件构建工具

  • 熟悉 Linux 系统编程

  • 了解 Linux kernel 和操作系统基础

接下来会推荐一些学习资料,我也会系统地分享基础方面的学习,并将其作为学习 Android Framework 的前置教程,同学们可以根据自己的情况按需学习。

1

Linux 的使用

Android Framework 在 Ubuntu 下开发,所以第一步得会用 Linux,主要是掌握常用的命令,以及一些常见的操作。

计划分享文章:

  • Ubuntu 使用快速入门

2

Shell Python Go 工具类编程语言

Android Framework 中有很多 shell 脚本,主要是和编译有关的,要读懂这些脚本,需要有比较好的 Linux shell 脚本编程能力,推荐学习《Linux Shell核心编程指南》

计划分享文章:

  • Linux Shell 编程入门

  • Linux Shell 编程进阶

Android 的编译系统还用到了 Go 语言,所以我们得对 Go 的使用有基本的了解。

计划分享文章:

  • Go 语言入门

  • Go 语言进阶

Repo 是一个 Python 脚本,对 git 的使用进行了封装,所以 Python 的使用我们也需要有基本的了解。

计划分享文章:

  • Python 语言入门

  • Python 语言进阶

以上内容 Linux Shell 需要熟练掌握,Go 和 Python 了解即可。

3

C 和 C++

C/C++ 这个不用说,native 层基本都是 C/C++ 代码,这部分必须熟练掌握,推荐几本我觉得还不错的书:

  • 《C语言非常道》 推荐使用这本书入门 C 语言。

  • 《一站式学习C编程》 非常全面的一本 C 语言教材,推荐和 《C语言非常道》 同步阅读。

  • 《嵌入式C语言自我修养》 学完了上面两本,再看看这本书,从语言角度夯实一下计算机基础。

  • 《21天学通C++(第8版)》,C++ 推荐通过这本书入门。

计划分享文章:

  • C 语言语法入门1

  • C 语言语法入门2

  • C 语言与指针

  • C 语言面向对象编程

  • C 语言模块化编程

  • GUN C 扩展语法

  • ARM 汇编基础

  • C 程序的编译、链接、安装和运行

  • C++ 语法入门1

  • C++ 语法入门2

  • C++ 语法入门3

  • C++ STL 入门

  • C++ 多线程编程

4

Java

Java 我就不献丑了,同学们应该已经非常熟悉了!

5

JNI

Framework 中,使用了大量的 JNI 技术,但是我没有找到系统讲解 JNI 的书籍,后面我会在基础部分写一个系列教程来讲解 JNI 的使用和使用过程中需要注意的事情。

计划分享文章:

  • JNI 编程核心基础

  • JNI 中处理 Java 异常

  • C/C++ 子线程调用 Java 方法

  • JNI 调用优化

6

Make Soong Bazel 软件构建工具

Make Soong 是现在 Android 源码中混合使用的构建工具,需要熟悉。

Bazel 是未来 Android 将使用的构建工具,空闲的时候可以着手了解了。

计划分享文章:

  • Makefile 基础入门

  • Soong 与 AOSP 编译系统

  • Bazel 基础入门

  • Bazel 与 AOSP 编译系统

7

Linux 系统编程

Android 构建于 Linux 之上,对于 Linux 系统编程需要非常熟悉。

计划分享文章:

  • 文件系统与文件IO

  • 内存映射

  • 进程管理

  • 进程间通信

  • Linux 多线程编程

8

Linux kernel 和操作系统基础

这部分主要分享下面的内容:

  • Linux 内核开发环境搭建

  • Linux 内核模块

  • 操作系统接口

  • 进程管理,进程调度与死锁

  • Linux 内存管理

  • 设备管理

  • 文件系统

9

总结

要学得东西很多,慢慢来,总会学完的。

同学们可以根据自己的情况按需学习。

目前还是以分享 Android Framework 内容为主,基础部分会陆续分享出来。

转自:学好Framework要掌握哪些?要学得也太多了...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值