Android Studio
下载安装
Mac
配置SDK下载路径
安装完成后
打开设置
取消掉Match case的勾选, 代码提示时可以忽略大小写
JDK 下载与安装, 环境变量配置
[下载地址](Java SE Development Kit 8 – Downloads (oracle.com))
傻瓜式安装
环境变量配置
MAC
open .zshrc
复制代码
打开.zshrc文件添加代码
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home
复制代码
在终端运行
java -version
复制代码
出现这个界面说明JAVA环境变量配置成功
Android SDK 下载与环境变量配置
挑选自己需要的SDK版本进行下载
在终端运行
adb
复制代码
出现这个界面, 说明SDK环境变量配置成功
Android Studio 相关插件介绍
.ignore
Git 的忽略文件模板插件
BugKotlinDocument
此插件用于快速生成Kotlin代码的注释
JSON To Kotlin Class
此插件根据json快速生成Kotlin 的数据类
RoboPOJOGenerator
此插件根据json快速生成Java实体类
Translation
此插件可以快速翻译选中的文本, 也可以快速查看文档翻译
Android 项目创建以及相关目录
创建项目
第一步,选中后点击Next
第二步 配置基本信息
- Name: 项目名称
- Package name: 项目包名 要保证唯一,字母+数字+下划线, 并且以字母开头
- Save location:项目存储位置
- Language:选择开发语言:可选Java和Kotlin 建议使用Kotlin
- Minimum SDK:选择最低支持的Api版本,目前使用的是Android6.0 Api23
点击Finish创建完成,等待项目构建完成
- .gradel和.idea是自动生成的文件,不用管他
- app是项目中的代码,资源等内容几乎都是放置在这个文件夹,之后我们的开发工作也都是在这个目录下进行的
- build主要包含编译时自动生成的一些文件,无需关心(最新版的开发工具没有这个文件夹)
- gradle 这个目录包含gradle wrapper的配置文件,使用gradle wrapper方式不需要提前下载gradle,会根据本地有无文件来决定是否联网下载。默认不启用gradle wrapper的方式,可通过Studio导航栏→File→Settings→Build, Execution,Deployment→Gradle,进行配置更改。
- .gitignore 用于将指定目录文件排除在版本控制之外
- build.gradle 项目全局的gradle构建脚本
- gradle.properties 全局的gradle配置文件,这里的配置属性会影响到项目中所有gradle编译脚本
- gradlew和gradlew.bat 用于在命令行中执行gradle命令,前者在Linux/Mac使用,后者是Windows
- My Application.iml iml文件是所有IntelliJ IDEA项目都会自动生成的一个文件(Androidstudio基于IntelliJ IDEA开发),无需修改此文件任何内容
- local.properties用于指定AndroidSDK的路径
- settings.gradle这个文件用于指定项目中所有引入的模块。由于HelloWorld项目中就只有一个app模块,因此该文件中也就只引入了app这一个模块。通常情况下模块的引入都是自动完成的,需要我们手动去修改这个文件的场景可能比较少。
模块 app下的目录
- manifest目录 在这个文件目录中有Android Manifest.xml文件,这是整个项目的配置文件,程序中定义的所有四大组件都需要在这个文件内进行注册,也可以在这个文件内给应用程序添加权限声明系统四大组件分别是活动(Activity),服务(Service),广播接收器(Broadcast Recevier),内容提供器(Content Provider)
- JAVA目录
- MainActivity
- Android Test,用来进行编写Androidtest测试用例的,能够对项目进行一些自动化的测试
- test,用来进行编写Unit Test测试用例,是对项目进行自动化测试另一种方式
- res目录
- draw able目录:存放图片
- layout目录:存放布局
- values目录:存放字符串
- build.gradle文件:这是app模块的gradle构建脚本,这个文件中会指定很多项目构建相关的配置。
- proguard-rules.pro这个文件用于指定项目代码的混淆规则,当代码开发完成后打成安装包文件,如果不希望代码被别人破解,通常会将代码进行混淆,从而让破解者难以阅读。
Git
Git的下载与安装
Mac
如果你正在使用Mac做开发,有两种安装Git的方法。
一是安装homebrew,然后通过homebrew安装Git,具体方法请参考homebrew的文档:brew.sh/。
第二种方法更简单,也是推荐的方法,就是直接从AppStore安装Xcode,Xcode集成了Git,不过默认没有安装,你需要运行Xcode,选择菜单“Xcode”->“Preferences”,在弹出窗口中找到“Downloads”,选择“Command Line Tools”,点“Install”就可以完成安装了。
Win
-
下载安装包
-
运行安装包
-
一直点击next,直到出现install,点击install,安装完成后点击finish:
-
安装好后在桌面界面点击鼠标右键,会出现如下界面
-
检查git是否安装OK
键盘Ctrl+r,然后在弹出框中出入cdm,弹出如下界面,输入git,回车
-
安装完成后,需要最后一步设置,在命令行输入:
$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com" 复制代码
因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址
-
Git的基本使用 Git教程 – 廖雪峰的官方网站 (liaoxuefeng.com)
工作区、暂存区和版本库
-
工作区:就是你在电脑里能看到的目录
-
版本库:工作区有一个隐藏目录.git, 这个不算工作区,而是Git的版本库。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支
master
,以及指向master
的一个指针叫HEAD
。
Git 常用命令
我们选择一个位置创建一个空目录:
a@192 learning-notes % mkdir learngit
a@192 learning-notes % cd learngit
a@192 learngit % pwd
/Users/a/Desktop/learning-notes/learngit
a@192 learngit %
复制代码
-
git init: 在指定目录下运行这个命令,可以把这个目录变成Git可以管理的仓库,会在此目录下生成一个.git的目录, 这个目录是Git用来跟踪管理版本库的,没事千万别手动修改这个目录里面的文件,不然会把Git仓库破坏掉
a@192 learngit % git init 已初始化空的 Git 仓库于 /Users/a/Desktop/learning-notes/learngit/.git/ a@192 learngit % 复制代码
在此目录下创建readme.txt文件,并编写一下内容:
Git is a version control system. Git is free software. 复制代码
-
git add : 用这个命令告诉Git, 把文件添加到仓库
a@192 learngit % git add readme.txt a@192 learngit % 复制代码
执行上面的命令,没有任何显示,这就对了,Unix的哲学是“没有消息就是好消息”,说明添加成功。
-
git commit -m : 用这个命令告诉Git,把文件提交到仓库:
简单解释一下git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样就能从历史记录里面方便的找到改动记录。强烈要求必须输入更新信息
a@192 learngit % git commit -m "wrote a readme file"[master(根提交) 1fd6a0d] wrote a readme file 1 file changed, 2 insertions(+) create mode 100644 readme.txta@192 learngit % 复制代码
git commit
命令执行成功后会告诉你,1 file changed
:1个文件被改动(我们新添加的readme.txt文件);2 insertions
:插入了两行内容(readme.txt有两行内容)。修改readme.txt文件,改成如下内容:
Git is a distributed version control system.Git is free software. 复制代码
-
git status: 此命令可以让我们时刻掌握仓库当前的状态
a@192 learngit % git status位于分支 master尚未暂存以备提交的变更: (使用 "git add <文件>..." 更新要提交的内容) (使用 "git restore <文件>..." 丢弃工作区的改动) 修改: readme.txt修改尚未加入提交(使用 "git add" 和/或 "git commit -a")a@192 learngit % 复制代码
这个输出告诉我们,
readme.txt
被修改过了,但还没有准备提交的修改。虽然Git告诉我们
readme.txt
被修改了,但如果能看看具体修改了什么内容,自然是很好的。比如你休假两周从国外回来,第一天上班时,已经记不清上次怎么修改的readme.txt
,所以,需要用git diff
这个命令看看: -
git diff:
a@192 learngit % git diffdiff --git a/readme.txt b/readme.txtindex d8036c1..013b5bc 100644--- a/readme.txt+++ b/readme.txt@@ -1,2 +1,2 @@-Git is a version control system.+Git is a distributed version control system. Git is free software.\ No newline at end of filea@192 learngit % 复制代码
git diff
顾名思义就是查看difference,显示的格式正是Unix通用的diff格式,可以从上面的命令输出看到,我们在第一行添加了一个distributed
单词。知道了对
readme.txt
作了什么修改后,再把它提交到仓库就放心多了,提交修改和提交新文件是一样的两步a@192 learngit % git add readme.txta@192 learngit % git status位于分支 master要提交的变更: (使用 "git restore --staged <文件>..." 以取消暂存) 修改: readme.txta@192 learngit % git commit -m "add distributed"[master 3ffecb6] add distributed 1 file changed, 1 insertion(+), 1 deletion(-)a@192 learngit % a@192 learngit % git status位于分支 master无文件要提交,干净的工作区a@192 learngit % 复制代码
-
git log: 命令显示从最近到最远的提交日志
a@192 learngit % git logcommit 3ffecb678e324ee6078f4c6c6bbdfc688c684136 (HEAD -> master)Author: 沐枫 <hanlin_bj@163.com>Date: Sat May 8 11:04:10 2021 +0800 add distributedcommit 1fd6a0d268f50e09501a0e72e7d695c3915d2d55Author: 沐枫 <hanlin_bj@163.com>Date: Sat May 8 10:51:47 2021 +0800 wrote a readme filea@192 learngit % 复制代码
-
git reset –hard HEAD^: git版本回退,上一个版本就是
HEAD^
,上上一个版本就是HEAD^^
,当然往上100个版本写100个^
比较容易数不过来,所以写成HEAD~100
。 -
git reset –hard 3ffec: 此命令可以回到指定的某个版本,3ffec是提交的commitid的前几位,git会自动去查找
-
git reflog: 用来记录你的每一次命令
-
git remote add origin xxxxx.git: 把本地仓库和远程仓库进行关联
-
git push -u origin master : 把本地库的所有内容推送到远程库上
-
git remote -v: 查看远程库信息
-
git remote rm origin: 删除名字为origin的远程库
-
git clone xxxxxx.git : 从远程库克隆到本地
分支
-
git checkout -b dev: 创建dev分支,然后切换到dev分支
git checkout 命令加上-b参数表示创建并切换,相当于一下两条命令:
git branch devgit checkout dev 复制代码
-
git branch: 查看当前分支
git branch命令会列出所有分支,当前分支前面会标一个*号
-
git checkout master: 切换到master分支
-
git merge dev:把dev分支的内容合并到master分支上
-
git branch -d dev: 合并完成后,可以删除dev分支
注意:最新版可以使用switch进行切换分支
- 创建并切换到新分支 git switch -c dev
- 直接切换到指定分支 git switch master
解决冲突
合并分支或从远程库拉取代码的时候会出现冲突,我们需要找到出现冲突的文件,并手动解决冲突,在重新提交并推送到远程库
Git配合AS的使用
- 配置 git
2. 配置Github,绑定Github账号
使用AS 从远程库clone代码
两个入口
- 在AS的启动界面选择红框的入口
2. 在已打开的项目里点击 顶部菜单 vcs -> Get from Version Control
- 打开界面
在Url 栏里面输入要clone的远程库的地址,Directory里选择clone下的代码保存的位置
- 在AS中打开clone的项目,可以看到以下红框标注的位置
- 顶部有一个 Git: 箭头和对号的位置,是一个快速拉取代码和提交代码的入口
- 箭头:快速拉取代码,并合并代码到本地,如果出现冲突则需要我们手动去解决冲突
- 对号:快速提交代码,点击后,会把左侧的commit栏打开
- commit侧栏:打开侧栏会显示我们更新删除或新增的文件,文件下面有一个Commit Message的输入框,是供我们输入更新的内容的,在输入框的左下角有一个Commit按钮,我们可以把选中的修改文件进行提交,Commit按钮右侧有个箭头,点击箭头会出现两个操作按钮
- Commit: 把修改的代码提交到暂存区
- Commit And Push:提交并推送到远程库
- 底部Git:左侧显示所有的分支,包含本地分支和远程分支,右侧是代码提交历史
把本地目录关联到远程仓库
- 打开Git服务器,创建远程仓库
-
用AS打开项目
-
打开顶部菜单 VCS -> Import into Version Control -> Create Git Repository…, 把目录变成Git 本地仓库
顶部就出现了
-
右键选中根目录,git -> add 把所有文件添加到git
-
点击对号把代码提交到暂存区
点击Define remote 关联远程仓库
关联成功,把修改的代码推送到远端
推送成功
查看远端仓库