使用studio的必要性
- 官方推荐的工具就是studio;
- Google已经宣布将在今年底终止Eclipse Android工具的开发与支持。这包括ADT插件、Ant构建系统、DDMS、Traceview与其他性能和监控工具;
- 众多开源软件都是使用as构建;
- as基于强大的是
最智能的JAVA IDE -IntelliJ IDEA
;2013年5月16日
,在I/O大会上,谷歌推出新的Android开发环境——Android Studio,2015年5月29日
,在谷歌I/O开发者大会上,谷歌发布AndroidStudio 1.3版
as和eclipse对比
高大上,智能贴心,想用不容易
随便举几个优点
- 集成了Gradle 打包工具
- 所见即所得的效果
- 可拖拽的UI操作
- 代码自动补全
- 更多的操作接口
- Google Cloud的集成
- 全新的JUnit
- Maven仓库的集成
system requirements
- Microsoft® Windows® 8/7/Vista/2003 (32 or 64-bit)
- 2 GB RAM minimum, 4 GB RAM recommended
- 400 MB hard disk space
- At least 1 GB for Android SDK, emulator system images, and caches
- 1280 x 800 minimum screen resolution
- Java Development Kit (JDK) 7
- Optional for accelerated emulator: Intel® processor with support for Intel® VT-x, Intel® EM64T (Intel® 64), and Execute Disable (XD) Bit functionality
as下载
as教程
as软件包列表
- android-studio-bundle-(含SDK)-141.1890965-windows.exe
- android-studio-ide-(不含SDK)-141.1890965-windows.exe
- android-studio-ide-141.1890965-windows.zip
- installer_r24.1.2-windows.exe
- adt 24 才可以下载高本版的sdk,建议所有的android sdk通过adt 24重新下载
as配置目录
C:\Users\Administrator.AndroidStudio1.2,如果是1.2之前的版本文件夹名称叫
.AndroidStudio
- config:用户配置文件,用户的个人设置–>注意备份
- restart:不用关心
- system:运行的生成的缓存环境,会越来越大
- 磁盘空间小.可以考虑配置在磁盘空间大的盘里面,用十多天,现在差不多1.5g
- system可以删除.但是第一次使用的时候会初始化一些数据.
- 可以修改配置目录的位置
# 禁止第一次运行Android Studio时,自动检查和升级Android SDK
disable.android.first.run=true
# 下面两个是Android Studio的设置、插件和运行时产生的其他文件存放的目录
# 不改的话,Windows中默认在 C:\Users\<username>\.AndroidStudio.2\ 里面
# ${idea.home.path}表示Android Studio程序的主目录,注意目录分隔符要用正斜杠“/”
idea.config.path=${idea.home.path}/.AndroidStudio.2/config
idea.system.path=${idea.home.path}/.AndroidStudio.2/system
as安装目录
C:\Program Files\Android\Android Studio
bin 运行文件
|-idea.properties 配置文件.配置缓存目录,配置第一次启动是否加载sdk等
build.txt
gradle
|-gradle-2.2.1 gradle所在的文件夹
|-m2repository 仓库中定义了一些运行需要的jar
lib
license
NOTICE.txt
plugins android studio 的插件目录
uninstall.exe
具体设置(重点)
- 分为
as设置(settings)
和project 设置(project structure)
- as设置(settings)
- ”G:\0备课\android studio\笔记\android studio 1.2设置文档.doc”
- project 设置(project structure)
as里面Projects和Module的概念
- Project:类似eclipse的工作空间(workspace),里面放置的一个个Module,但是应该放置和同一个Project相关的Module;
- Module:对应的就是一个独立的
可执行程序
或者公共的库
; - AS里面,Project和Project是相互独立的;
as窗体介绍
- logcat视图
- ddms
- debug视图
实战_2
- 新建Hello Studio
项目结构
参考文档:
file:///F:/android-sdk-studio-new/docs/tools/projects/index.html#ProjectFiles
C:.
│ build.gradle 项目Gradle构建脚本
│ gradle.properties 项目Gradle属性文件
│ gradlew 在没有安装gradle的pc上使用,没用
│ gradlew.bat 在没有安装gradle的pc上使用,没用
│ local.properties 指定sdk所在目录
│ settings.gradle 项目Gradle设置文件
│
├─.gradle
├─.idea
├─app
│ │ .gitignore git忽略文件列表
│ │ app.iml 临时文件,不需要关心
│ │ build.gradle Module Gradle构建脚本
│ │ proguard-rules.pro proguard混淆规则
│ │
│ ├─build 构建目录,相当于Eclipse中默认Java工程的bin目录。编译生成的apk在此目录
│ ├─libs 依赖包
│ └─src
│ ├─androidTest 测试相关代码文件夹
│ │ └─java
│ │ └─com
│ │ └─itheima
│ │ └─myapplication
│ │ ApplicationTest.java
│ │
│ └─main
│ │ AndroidManifest.xml 清单文件
│ │
│ ├─java 项目源码
│ │ └─com
│ │ └─itheima
│ │ └─myapplication
│ │ MainActivity.java
│ │
│ └─res 资源文件
│ ├─drawable .9图片只能放到drawable目录下
│ ├─layout
│ │ activity_main.xml
│ │
│ ├─menu
│ │ menu_main.xml
│ │
│ ├─mipmap-hdpi 类似drawable-hdpi
│ │ ic_launcher.png
│ │
│ ├─mipmap-mdpi 类似drawable-mdpi
│ │ ic_launcher.png
│ │
│ ├─mipmap-xhdpi 类似drawable-xdpi
│ │ ic_launcher.png
│ │
│ ├─mipmap-xxhdpi 类似drawable-xxdpi
│ │ ic_launcher.png
│ │
│ ├─values
│ │ dimens.xml
│ │ strings.xml
│ │ styles.xml
│ │
│ └─values-w820dp
│ dimens.xml
│
├─build
└─gradle
└─wrapper gradle wrapper可以看作是对gradle的封装,它可以使得在没有安装gradle的电脑上也可以使用Gradle进行构建.没啥用
gradle-wrapper.jar
gradle-wrapper.properties
需要自己建立的文件夹
main/assets/
main/aidl/
main/jni/ -->放置c代码
main/jniLibs/ -->放置so库
main/res/raw/
main/res/anim/
gradle构建
- google官网参考(需翻墙):http://tools.android.com/tech-docs/new-build-system/user-guide
- google官网本地:Gradle Plugin User Guide - Android Tools Project Site.mht
- 博客翻译: Android Gradle Plugin指南(一)——简介
- 整合pdf:gradle-plugin-user-guide.pdf
G:\0备课\android studio\Gradle Plugin User Guide
- Gradle官网:http://gradle.org
- 构建:生成app的过程
- 依赖管理:管理依赖的jar包
- 仓库:简单理解就是存的一些jar包
- maven
- ivy
- jcenter仓库地址
安装as之后就安装好了
C:\Program Files\Android\Android Studio\gradle\gradle-2.2.1
gradle配置(最后配置)
- 配置GRADLE_HOME–>
C:\Program Files\Android\Android Studio\gradle\gradle-2.2.1
- 配置GRADLE_USER_HOME–>
D:\java\gradle\.gradle
,默认是在C:\Users\Administrator\.gradle
选择性的修改 - 配置path–>
%GRADLE_HOME%\bin
说说我们项目里面的gradle构建(项目有,模块有)
- Gradle构建脚本(build.gradle)指定了一个项目和它的任务。
- Gradle属性文件(gradle.properties)用来配置构建属性。
- Gradle设置文件(gradle.settings)对于只有一个项目的构建而言是可选的,如果我们的构建中包含多于一个项目,那么它就是必须的,因为它描述了
哪一个项目参与构建
。每一个多项目的构建都必须在项目结构的根目录中加入一个设置文件。
gradle文件说明,重点
- “G:\0备课\android studio\module build”
- “G:\0备课\android studio\project build.gradle”
实战_常用依赖
- 新建Module,删除Module
- 导入v4,v7,v13–>offline
- 本地
- 仓库
- 导入.jar
- 本地
- 仓库
- 导入lib工程
- 存放.9图片
实战_导入项目
- 导入eclipse项目
- 导入github上的项目
- 常见3个错误
- 插件版本
- compilesdversion
- buildtoolsversion
实战_整合svn
- svn share操作
- svn checkout操作
- svn 的commit,update,merge操作
实战_整合git
- share项目到github
- 从git仓库拉取对应的工程
ignore忽略文件
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
/captures
*.iml
.idea
实战_debug模式
实战_测试用例
实战_项目打包
- 混淆
- 分渠道
插件介绍
ADB Idea:方便卸载apk,删除缓存
Android ButterKnife Zelezny :ButterKnife对应的插件
Android Code Generator Plugin :生成ViewHolder,生成initView方法
Codota:搜索代码块
GsonFormat:jsonString自动转bean插件
genymotion-idea-plugin:genymotion对应的插件
SelectorChapek for Android:帮助生成selector
Sexy Editor:代码区域加背景
Android Drawable Importer:同一张图片生成多个自动生成多分辨率图片
Android Layout ID Converter:xml到控件的转换
Android Postfix Completion:toast和log加强
Android Studio Prettify:帮助findViewById
.ignore:git忽略文件高亮效果,文件夹颜色提示
Android Parcelable code generator:生成Parcelable代码
Gradle Dependencies Helper:gradle帮助插件
Android Toolbox Plugin:生成ViewHolder,意义不大
错误还原
- render problems
- com.android.tools.build 版本问题
- compileSdkVersion 版本问题
- buildToolsVersion 版本问题
- 插件版本差异
- 文件开头apply plugin是最新gradle版本的写法,以前的写法是apply plugin: ‘android’, 如果还是以前的写法,请改正过来
- minifyEnabled也是最新的语法,很早之前是runProguard,这个也需要更新下
- 一个是声明仓库的源,这里可以看到是指明的jcenter(), 之前版本则是mavenCentral(), jcenter可以理解成是一个新的中央远程仓库,兼容maven中心仓库,而且性能更优
- Error:Gradle DSL method not found: ‘runProguard()’