个人吐血整理,希望能给大家一些帮助,可能是史上最全的android studio 文档
Google官方的Android集成开发环境(IDE = Integrated Development Environment),Eclipse + Adt插件的代替者。
学习的必要性
- 趋势
- 更好用
对比
http://developer.android.com/sdk/index.html
-
安装需求
- JDK 1.7
- 2G空闲内存
- 500M磁盘空间
-
安装方式
- 解压IDE工具(推荐)
- 安装IDE工具
- 安装IDE+SDK+AVD
-
运行
- 32 位运行android-studiobinstudio.exe
- 64 位运行android-studiobinstudio64.exe
-
配置
-
AS的android插件会尝试下载SDK更新,因国内网络问题,会导致下载失败无法启动程序
初次运行无法进入程序(网络问题,无法下载SDK更新)
在 AS安装目录/bin/idea.properties最后添加
disable.android.first.run=true
-
-
常见问题
tools.jar缺失,或其他的jar缺失
原因:jdk没有安装好。
解决:卸载当前jdk、删除java环境变量;重启;安装正确的jdk(已提供合适的JDK安装文件,安装时不要安装JRE),配置环境变量
-
菜单 - Build
-
快捷工具
-Structure视窗
-
代码编辑区域
-
代码编辑- 布局文件的多屏预览
-
Android 监控
-
Message
- 重要概念
As中强调应该把相关的工程放在同一个工作空间中
概念
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言来声明项目设置,而不是传统的XML。当前其支持的语言限于Java、Groovy和Scala,计划未来将支持更多的语言。
https://zh.wikipedia.org/zh/Gradle
编译过程
http://developer.android.com/tools/building/index.html
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7t0VLAa6-1601042672516)()]
Gradle相关文件
- 重要
project 中的 settings.gradle 说明
project 中的build.gradle说明
module中的build.gradle详细说明
- 其他
- Project根目录
- module目录
-
程序外观
代码补全
快捷键方案修改 && 编辑快捷键
活动模板
后缀补全
常用快捷键
进入调试的两种方式
-
以调试模式运行
-
运行后调试
需要注意 运行的程序的代码应该与所看到的是同一份,不然点击提示会错位
如何打断点
- 代码左侧单击
- 代码左侧单击时按着shift键
断点类型
导入Eclipse项目
File –> New –> Import Module
导入AndroidStudio项目
File –> New –> Import Module
导入AAR
File –> New –>New Module –> Import .jar/.aar package
当文件夹上显示了手机或柱状图 图标,说明此文件夹是受保护的,无法被删除
- 取消保护
打开Project Struecture。 选中要删除的module,点上面的减号。 然后点确定
- 删除文件
在原来是module的文件夹上点击鼠标右键,选中delete,在弹出的对话框上点确定。
导入Library
导入文件jar包
导入Module依赖
对应关系
安装插件的两种方式
- 本地安装
- 网络安装
ButterKnife Zelezny的使用
作用及意义
- 减小apk大小,删除无用的类和方法
- 避免被反编译后重要的程序逻辑暴露
配置
app/build.gradle
通用混淆文件说明
项目特有的常用的混淆语法
- 特定的类不被混淆
- 某个包下的类不被混淆
- 继承与某类的类不被混淆
使用第三方jar包在混淆后出错
一般,都可以在网站上找到相应的混淆配置
比如
- butterknife
http://jakewharton.github.io/butterknife/ 查找 PROGUARD - baidu map sdk
http://lbsyun.baidu.com/index.php?title=androidsdk/qa 查找 混淆 - xutils
https://github.com/wyouflf/xUtils 查找 混淆
意义
- 国内现状: 多个电子市场可提供apk的下载,用于统计市场的作用
- 同一个应用程序,给不同的客户,需要连接不同的服务器
步骤
1 在清单文件中添加metadata
2 在程序中获得metadata并使用
3 添加flavor动态修改metadata
SVN环境
-
安装TortoiseSVN
!!! 注意勾选 command line client tools
-
在as中,设置svn的命令行工具
settings –> Version Control –> Subversion –>General –> use command line client
选中TortoiseSVN的安装目录中的bin文件夹中的svn.exe
上传本地代码
- 设置同步
settings –> Version Control
把project后面加上版本控制的类型
-
设置忽略文件
settings –> Version Control –> Ignored Files
3种方式:特定文件、指定目录下的文件、特定规则文件 -
提交目录
project 右键 –> Subversion –> share directory
这一步只提交了目录,文件并没有上传到服务器
-
上传文件
project 右键 –> Subversion –> submit directory
下载服务器的代码
在Welcome to Android Studio界面,点击第三个Check out project from Version Control
提交代码,编辑冲突
project 右键 –> Subversion –> submit directory
好习惯:先update,再submit
- 冲突的解决
3种 接受服务器的,接受自己的,合并
!!! 注意,在合并后,还需要submit
断开连接
- 断开连接
- 先删除配置
在settings –> version control -掉同步文件夹
- 先删除配置
- 忘记记录的用户名和密码
settings –> version control –> subversion –>clear auth cache
0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
- 忘记记录的用户名和密码
settings –> version control –> subversion –>clear auth cache