简介
安装
- 安装Android SDK(任意一种)
- 直接安装Android Studio可内置安装Android SDK(仍需梯子才能下载)和Android模拟器(Tools菜单)
- 基于SDK Tools安装(参考https://zhuanlan.zhihu.com/p/37974829)
- 国内在 https://www.androiddevtools.cn/ 下载 SDK Tools 进行 Android SDK 安装
- 国外zip包下载地址:https://dl.google.com/android/android-sdk_r24.4.1-windows.zip?utm_source=androiddevtools&utm_medium=website
API 24.x -> Android 7.x
;API 29.x -> Android 10.x
- 启动SDK Manager,安装Tools、API、Extras(可使用代理下载)
- 设置
ANDROID_HOME=D:\software\android-sdk
- 把
%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools
添加到Path环境变量中 - 命令行输入
adb
测试是否安装成功
- 国内在 https://www.androiddevtools.cn/ 下载 SDK Tools 进行 Android SDK 安装
- AVD(模拟器)
- Mac建议使用AS自带模拟器(字体看不清);通过braw安装模拟器字体很清晰,但是可能部分应用无法安装,参考mac.md#安卓模拟器
- 安卓模拟器
Android Studio项目示例
- 控制台乱码:需要配置vmoption,参考:https://blog.csdn.net/jankingmeaning/article/details/104772104/
配置说明
- 项目结构举例
1 | project |
build.gradle
举例
1 | buildscript { |
代码举例
- AndroidManifest.xml 清单文件,每个模块有一个固定此名称的清单文件
1 | "1.0" encoding="utf-8" xml version= |
- LoginActivity.java 视图元素绑定
1 | // android.app.Activity 可理解为视图类 |
- page_login.xml 视图元素配置(Android Studio中可查看代码模式和设计模式,设计模式类似VB拖拽修改元素)
1 | <!-- 使用线型布局 --> |
- strings.xml
1 | "1.0" encoding="utf-8" standalone="no" xml version= |
Activity生命周期
- 参考: https://blog.csdn.net/weixin_45828419/article/details/115302341
- Activity的生命周期
- 运行状态:该Activity生命开始,Activity在前台展示,在屏幕上能获取焦点
- 暂停状态:前台展示其他Activity,该Activity依然可见,在屏幕上不能获取焦点
- 停止状态:该Activity不可见并且失去焦点
- 销毁状态:该Activity结束生命,或此Activity所在进程被结束
- 相关方法
- onCreate(Bundle savedInstanceState): 其在Activity中起到创建view的作用,创建Activity时会回调此方法并只调用一次。Bundle savedInstanceState一般用于初始化数据,savedInstanceState主要用于当Activity被异常杀死的时候,用于保存数据。
- onStart(): 启动Activity时被回调,一般不进行任何操作。
- onResume(): Activity变成可见前调用,获得焦点与用户进行交流,前台状态。在onStart()后一定要回调onResume()。
- onPause(): 暂停Activity时回调,此时Activity可见,但是没有获得焦点,属于暂停状态,不处于栈顶当时可以看见界面。
- onRestart(): 重新启动Activity时被回调。
- onStop(): 停止Activity时被回调,此时Activity变成完全不见,进入后台状态。
- onDestory(): Activity被销毁的时候调用,该方法只会被调用一次。
命令
adb
- ADB (Android Debug Birdge 调试桥) 是一种功能多样的命令行工具,可让您与设备进行通信 ^1
- ADB 分为三部分:PC上的
adb client
、adb server
和 Android设备上的adb daemon
(adbd) ADB client
:Client本质上就是Shell,用来发送命令给Server。发送命令时,首先检测PC上有没有启动Server,如果没有Server,则自动启动一个Server,然后将命令发送到Server,并不关心命令发送过去以后会怎样ADB server
:运行在PC上的后台程序,目的是检测USB接口何时连接或者移除设备- ADB Server对本地的TCP 5037端口进行监听,等待ADB Client的命令尝试连接5037端口
- ADB Server维护着一个已连接的设备的链表,并且为每一个设备标记了一个状态:offline,bootloader,recovery或者online(devices)
- Server一直在做一些循环和等待,以协调client和Server还有daemon之间的通信
ADB Daemon
:运行在Android设备上的一个进程,作用是连接到adb server(通过usb或tcp-ip)。并且为client提供一些服务
- ADB 分为三部分:PC上的
- 命令(位于
%ANDROID_HOME%/platform-tools/
)
1 | # 打开开发者模式:USB线连接手机和电脑,并且在开发者选项当中,开启USB调试 |
- 无线连接Android设备
1 | ## WLAN 调试(貌似Android 10及以下需要借助一次USB,之后连接同一Wifi) |
sdkmanager
https://developer.android.google.cn/studio/command-line/sdkmanager.html
- 位于
android_sdk/tools/bin/
- 命令
1 | # 查看版本列表 |
参考文章