Android Studio
关于 Android Studio
Android Studio 是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。
下载并安装 Android Studio
-
在官网下载Andriod安装包,安装包中包含了运行和开发andriod应用的各种工具(包括之前一致需要单独下载的Andriod SDK也包含在其中),唯一需要你个人安装和配置的是jdk的编译路径,这个在之前的Eclipse开发过程已经实现过,这里不再赘述。
-
下载好安装包后进入本地的安装解压,在安装指引中选择合适的安装路径进行安装,建议选择非系统盘,Andriod studio的运行还是比较吃磁盘缓存的。
-
在安装开发环境的同时,可以附带安装Andriod的虚拟测试环境AVD(Andriod Virtual Device),这对于没有andriod手机的开发者来讲是十分便利的,AVD可以帮助你在电脑上运行一个虚拟的安卓手机,并逼真地对电量,使用环境等做出准确的虚拟,帮助开发者在各种环境下对app进行必要的功能测试。
-
首次启动Andriod后会提示你并未安装Andriod SDK(一个包含多种andriod开发工具的工具包),并同时询问你希望安装SDK的文件地址,敲入适当的文件地址后等待安装完成就可以了。
完成界面
- 问题:小的失误,在安装的最后一步,andriod studio询问我是否想要安装一个同命令行相关的程序插件,而我选择了拒绝,特此记录,如果以后出现相关的问题,可以快速解决。
第一个android 项目
- 创建一个Android项目-HelloAndroid,对项目运行进行配置,在Android模拟器中运行项目程序;
-
新建项目文件的方法有二,在内部的File选项中或是启动页面中。之后修改项目的名称并选择合适的运行版本,可以看到,不同的开发版本对应着不同的市场份额,当你想要利用不同版本的工具api来构造你的app时,你务必考虑好这一点。
-
-
可以看到,项目的大体结构已经快速生成了
-
试运行既可以选择在通过usb接口连接实体机进行测试,也可以仅仅在之前下载好的AVD尝试,在AVD Manager中建立新的虚拟机,并在运行设置中选择虚拟机运行。
AVD Manager
关于Gradle
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,目前也增加了基于Kotlin语言的kotlin-based DSL,抛弃了基于XML的各种繁琐配置。面向Java应用为主。当前其支持的语言限于Java、Groovy、Kotlin和Scala。
特点
- gradle支持局部构建。
- 支持多方式依赖管理:包括从maven远程仓库、nexus私服、ivy仓库以及本地文件系统的jars或者dirs。
- gradle是第一个构建集成工具,与ant、maven、ivy有良好的相容相关性。
- 轻松迁移:gradle适用于任何结构的工程,你可以在同一个开发平台平行构建原工程和gradle工程。通常要求写相关测试,以保证开发的插件的相似性,这种迁移可以减少破坏性,尽可能的可靠。这也是重构的最佳实践。
- gradle的整体设计是以作为一种语言为导向的,而非成为一个严格死板的框架。
开发使用
-
使用Andriod studio构建项目时,项目会自动使用gradle构筑程序,如果本来电脑中尚未配置gradle的相关环境变量,Andriod会自动下载合适的版本。
-
此外,还可以在gradle官网上下载gradle的安装包,在本地自行安装并配置环境变量
-
具体步骤:
- 下载gradle安装包,安装并配置到环境变量中
- 在命令行中尝试
gradle -v
,测试gradle是否安装完成 - 在项目中创建空白文件
build.gradle
,为项目加入配置文件
-
依赖管理可能遇到的问题:
-
-
unable to resolve dependency for:xxx SSL peer shut down incorrectly /*以及其他携带peer字符的问题*/ 以上两类问题出现的原因都是build.gradle中的相关repositories没能正确地连接下载,原因主要出现在下载repositories的url以及本地的网速较慢,可以考虑更换url为较为稳定的国内镜像(阿里云等),或者采用【科学上网】的方式解决,以下时解决问题的正确代码
-
buildscript { repositories { google() maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.1' } } allprojects { repositories { google() maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } jcenter() } } task clean(type: Delete) { delete rootProject.buildDir }
-