本人自接触Android开发算起,也算有些年头,走过弯路,也跳进过坑,现在细细想来,其实当初也可以不用这么狼狈。几经辗转反侧,痛定思痛,我决定把我从接触开发以来的所有必备的知识和自己跳过的坑全部写下来,望有缘人看了后能有所感悟即是我最大的期望。从基础到进阶,我只要不是太忙,每天都会有更新,不敢说自己境界多高,但是一般的Developer遇到的问题,我都能解决,欢迎各位平时遇到什么Bug可以和我交流。

一、Android的背景

Android一词本意是指“机器人”,与2007年被Google公司宣布基于Linux平台的开源手机操作系统,是首个为移动终端打造的真正开放和完整的移动操作系统。从某种方面而言,开源,意味着生产细节的公开化以及大众的可参与性,这在根本意义上决定了与IOSWindows等系统不同。因为其可参与性和内部细节的透明化从某种意义上来说使得Android的生态圈呈一片欣欣向荣的情景。

绝大多数Android开发是指的基于Android平台的SDK开发,而谈到SDK开发,则不得不对其Android系统分层进行了解。

如上图所示,Android系统分层大抵可分为这四层:

Linux内核层:包含Linux内核和驱动模块(比如USBCamera,蓝牙等);

Libraries层:这一层提供动态库(也叫共享库),Android运行时库,Dalvik虚拟机等。编程语言主要为C或者C++,所以可以简单的看出native层;

Framework层:这一层大部分用Java语言编写,它是基于Android平台上Java世界的基础;

Application层:应用层,主要存放各种各样的应用程序。

而我们平常绝大多数的Android开发就是在Application层上的Java开发。

二、Android开发环境的部署

①:安装JDK

要下载Oracle公司的JDK可以百度“JDK”进入Oracle公司的JDK下载页面(当前下载页面地址为http://www.oracle.com/technetwork/java/javase/downloads/index.html),选择自己电脑系统的对应版本即可。如图所示:


     下载到本地电脑后双击进行安装。JDK默认安装成功后,会在系统目录下出现两个文件夹,一个代表jdk,一个代表jre



JDK的全称是JavaSE Development Kit,也就是Java开发工具箱。SE表示标准版。JDK是Java的核心,包含了Java的运行环境(Java Runtime Environment),一堆Java工具和给开发者开发应用程序时调用的Java类库。

      我们可以打开jdk的安装目录下的Bin目录,里面有许多后缀名为exe的可执行程序,这些都是JDK包含的工具。通过第二步讲到的配置JDK的变量环境,我们可以方便地调用这些工具及它们的命令。


JDK包含的基本工具主要有:

javacJava编译器,将源代码转成字节码。

jar:打包工具,将相关的类文件打包成一个文件。

javadoc:文档生成器,从源码注释中提取文档。

jdbdebugger,调试查错工具。

java:运行编译后的java程序。

②:配置JDK环境变量

按照网上的教程可以很轻松配置好WindowsJDK的变量环境,但是在这方面为什么要这么配置很多人并没有多想。

 

原理其实很简单,我们平时打开一个应用程序,一般是通过桌面的应用程序图标双击或单击系统开始菜单中应用程序的菜单链接,无论是桌面的快捷图标还是菜单链接都包含了应用程序的安装位置信息,打开它们的时候系统会按照这些位置信息找到安装目录然后启动程序。



     在知道了一个应用程序的安装目录位置后,我们也可以通过命令行工具打开,如QQ的位置为:C:\Program Files (x86)\Tencent\QQ\QQProtect\BinQQ的应用程序名为为QQProtect.exe,那么我们打开命令行工具,然后进入到“C:\Program Files (x86)\Tencent\QQ\QQProtect\Bin”目录,再输入“QQProtect”,即可运行qq


如果我们希望打开命令行工具后,直接输入“QQProtect”就能启动qq程序,而不是每次都进入qq的安装目录再启动,这个时候可以通过配置系统环境变量Path来实现。右击我的电脑,选择属性,在打开窗口中点击左边的高级系统设置,出现系统属性

窗口,在“高级”选项卡下面点击“环境变量”。



编辑系统变量名“Path”,在“Path”变量(字符串内容)的后面追加qq的安装目录:;C:\Program Files (x86)\Tencent\QQ\QQProtect\Bin 注意追加的时候要在目录字符串的前面加个英文的分号;,英文分号是用来区分Path里面不同的路径。


确定保存后,再回到命令窗口,不管在任何目录下,你只要输入qqprotect的命令,qq就会启动。

通过启动qq的例子,我们总结下:当要求系统启动一个应用程序时,系统会先在当前目录下查找,如果没有则在系统变量Path指定的路径去查找。前面我们说了JDK包含了一堆开发工具,这些开发工具都在JDK的安装目录下,为了方便使用这些开发工具,我们有必要把JDK的安装目录设置了系统变量。这就是为什么在Windows安装了JDK后需要设置JDKbin目录为系统环境变量的原因。


为了配置JDK的系统变量环境,我们需要设置三个系统变量,分别是JAVA_HOMEPathCLASSPATH。下面是这三个变量的设置防范。


JAVA_HOME

先设置这个系统变量名称,变量值为JDK在你电脑上的安装路径:C:\Program Files\Java\jdk1.8.0_20。创建好后则可以利用%JAVA_HOME%作为JDK安装目录的统一引用路径。

 

Path

PATH属性已存在,可直接编辑,在原来变量后追加:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin 

 

CLASSPATH 

设置系统变量名为:CLASSPATH  变量值为:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 

注意变量值字符串前面有一个"."表示当前目录,设置CLASSPATH 的目的,在于告诉Java执行环境,在哪些目录下可以找到您所要执行的Java程序所需要的类或者包。

    ③:AndroidStudio的下载安装:

   关于这一方面的博客实在是太多了,整个过程完全没有技术含量,我们也不必需要在这方面浪费时间,以下是我认为写的比较好的博文地址:https://segmentfault.com/a/1190000002401964

   当然,Linux下的环境搭建可以参考我前面两篇博文,相信可以为大家带来收获:

   ubuntu下Android开发环境的搭建:eclipse+SDK详细安装教程+常见问题及其解决方案 :  http://blog.csdn.net/u012673089/article/details/48935573

   ubuntu下安装AndroidStudio5分钟快速教程:http://blog.csdn.net/u012673089/article/details/48956649











Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐