程序员职业生涯真的很短吗?

不短,我就是明证!我今年44岁,世界500强公司,编程20年,软件技术专家,一直都在编程一线,从来离开过。技术上,我深入的使用过Java、.net、Js等等。也许吧,我勉强算的上一个“全栈工程师”。

我看好多回答里说,程序员之所以干不长,那是因为经验不值钱,老程序员和年轻人没有区别,还不能加班,所以自然不受老板待见。我特别不理解,这么荒谬,不合逻辑的言论为什么还会有人相信。我可以非常肯定的说,在软件开发这个行业,只要不虚度光阴,时间会给你丰厚的回报,会建立足够的门槛,保证你长期在这个赛道上。

在很大程度上,程序员就是一个“复制粘贴”的职业,因为大部分企业中的大部分程序员,在工作中都不会遇到独一无二的问题,我们碰到的问题,早就有了成熟的答案,所谓的研究过程,不是去发明答案,而是去发现答案。

相关背景

NDK,是Native Development Kit的缩写,这是 Android的一个工具开发包,与java语言没有直接的关系

Native就是指C、C++这些语言

使用NDK可以快速开发C、C++的动态库,并自动将这些so文件与其他内容一起打包成APK

Android插件化主流框架和实现原理,全网独家首发!_架构师

Android插件化主流框架和实现原理,全网独家首发!_解决方法_02

Android Studio环境下关于NDK的配置

先把目录切换为Project模式,点这个地方就行

Android插件化主流框架和实现原理,全网独家首发!_properties文件_03

然后选择local.properties文件,就是我标红的这个

Android插件化主流框架和实现原理,全网独家首发!_android_04

可以看到这里记录了NDK和SDK在本地计算机上的存储路径

Android插件化主流框架和实现原理,全网独家首发!_properties文件_05

进一步分析

首先打开SDK manager

Android插件化主流框架和实现原理,全网独家首发!_c++_06

出现以下界面

Android插件化主流框架和实现原理,全网独家首发!_properties文件_07

这里可以看到我的NDK是已经下载好的

Android插件化主流框架和实现原理,全网独家首发!_架构师_08

那么这个下载好的NDK的路径在哪里呢,或者说这个下载好的NDK究竟放在哪里呢,我们查找一下

如下图操作,打开project structure

Android插件化主流框架和实现原理,全网独家首发!_架构师_09

弹出如下界面

Android插件化主流框架和实现原理,全网独家首发!_properties文件_10

这里就是我们NDK的路径(位置了)

Android插件化主流框架和实现原理,全网独家首发!_架构师_11

把这个路径复制一下,然后在我的电脑中打开,如图所示

Android插件化主流框架和实现原理,全网独家首发!_架构师_12

打开这个目录下的toolchains文件夹

Android插件化主流框架和实现原理,全网独家首发!_android_13

可以看到,这里确实没有IDE里报错说我们需要的那种库

Android插件化主流框架和实现原理,全网独家首发!_架构师_14

解决方法

打开Android开发者的官方网站

选择这个

Android插件化主流框架和实现原理,全网独家首发!_properties文件_15

点击下载

Android插件化主流框架和实现原理,全网独家首发!_架构师_16

这个还是挺大的,需要等一会儿

Android插件化主流框架和实现原理,全网独家首发!_c++_17

下载完成后,解压缩,如图所示

Android插件化主流框架和实现原理,全网独家首发!_架构师_18

打开这个目录下的toolchain文件夹,找到报错信息里你缺少的文件夹,比如我缺少的文件如下图所示

Android插件化主流框架和实现原理,全网独家首发!_解决方法_19

把这个文件夹复制到NDK所在的路径即可

打开NDK所在路径的方法上面已经说过了

写在最后

最后我想说:对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!

这里附上上述的技术体系图相关的几十套腾讯、头条、阿里、美团等公司2021年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。

相信它会给大家带来很多收获:

Android插件化主流框架和实现原理,全网独家首发!_解决方法_20

Android插件化主流框架和实现原理,全网独家首发!_解决方法_21

 

当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。