AndroidStudio
个人吐血整理,希望能给大家一些帮助,可能是史上最全的android studio 文档
介绍
Google官方的Android集成开发环境(IDE = Integrated Development Environment),Eclipse + Adt插件的代替者。
学习的必要性
- 趋势
原因 | 说明 |
---|---|
发展趋势 | google公司把官方IDE工具定为AS,并停止了EclipseADT的维护 |
工作 | 越来越多的公司在使用AS作为开发工具,特别是大公司、好公司 |
学习 | Github上越来越多的android开源项目是AS开发的 |
- 更好用
对比
对比项 | Eclipse + ADT | Android Studio |
---|---|---|
基于 | IBM公司的Eclipse | JetBrains公司的 IDEA 社区版 |
运行速度 | 中 | 快 |
程序界面 | 中 | 漂亮 |
编码速度 | 中 | 快(更智能的提示) |
插件 | 安装繁琐 | 安装简单,自带很多插件 |
版本控制 | 需额外安装 | 多 |
内存占用 | 中 | 大 |
编译 | ANT | gradle |
依赖网络 | 否 | 是 |
其他 | 内置终端; UI编辑支持多屏预览;多APK打包 |
安装
-
安装需求
- JDK 1.7
- 2G空闲内存
- 500M磁盘空间
-
安装方式
- 解压IDE工具(推荐)
- 安装IDE工具
- 安装IDE+SDK+AVD
-
运行
- 32 位运行android-studio\bin\studio.exe
- 64 位运行android-studio\bin\studio64.exe
-
配置
- AS的android插件会尝试下载SDK更新,因国内网络问题,会导致下载失败无法启动程序
初次运行无法进入程序(网络问题,无法下载SDK更新)
在 AS安装目录/bin/idea.properties最后添加
disable.android.first.run=true
- AS的android插件会尝试下载SDK更新,因国内网络问题,会导致下载失败无法启动程序
-
常见问题
tools.jar缺失,或其他的jar缺失
原因:jdk没有安装好。
解决:卸载当前jdk、删除java环境变量;重启;安装正确的jdk(已提供合适的JDK安装文件,安装时不要安装JRE),配置环境变量
界面
- 整体
- 菜单 -File
-
菜单 - Build
-
快捷工具
-
-
Project视窗
-Structure视窗
-
代码编辑区域
-
-
代码编辑- 布局文件的多屏预览
-
-
Android 监控
-
-
Message
-
建立HelloWorld项目
- 重要概念
中文 | Eclipse | AS |
---|---|---|
工作空间 | WorkSpace | Project |
工程(库或应用) | Project | Module |
As中强调应该把相关的工程放在同一个工作空间中
Gradle相关
概念
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言来声明项目设置,而不是传统的XML。当前其支持的语言限于Java、Groovy和Scala,计划未来将支持更多的语言。
编译过程
Gradle相关文件
- 重要
project 中的 settings.gradle 说明
// 这个Project中有2个Module
include ':app', ':percent-23.1.0'
project 中的build.gradle说明
// 构建脚本
buildscript {
// 仓库
repositories {
// 中央仓库 https://bintray.com/bintray/jcenter
// 通过jar包的字符串包名,就可以下载到jar包了
// 成熟的公司可能会有自己的仓库服务器,需要在此配置
jcenter()
}
dependencies {
// android gradle构建工具,用于处理module下的build.gradle文件,此版本与Gradle版本有配套关系,目前gradle已经到2.8了,但主要使用的是2.4
classpath 'com.android.tools.build:gradle:1.3.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
// 所有项目都依赖于jcenter
allprojects {
repositories {
jcenter()
}
}
// gradle在执行构建任务时的清理配置
task clean(type: Delete) {
delete rootProject.buildDir
}
module中的build.gradle详细说明
// 表示这个项目编译完成后,是一个anrdoid应用程序
apply plugin: 'com.android.application'
// 表示这个项目编译完成后,是一个anrdoid的库
//apply plugin: 'com.android.library'
android {