0.准备环境
- 正点原子RK3568开发板(android11系统)
- Android Studio开发软件
1.安装 Android Studio
- 下载:访问 下载 Android Studio 和应用工具 - Android 开发者 | Android Developers
- 安装:根据你的操作系统(Windows、MacOS 或 Linux)进行安装。安装过程中,建议选择默认设置,包括安装 Android SDK。
2. 创建新项目
- 打开 Android Studio:启动后,你会看到一个欢迎界面。
- 创建新项目
- 点击 “Start a new Android Studio project”。
- 在 “Choose your project” 页面,选择一个模板。这里我选择 “Empty Views Activity”。
- 点击 “Next”。
3. 配置项目
- 填写项目信息:
- Name:输入你的应用名称,例如 “My Application”。
- Package name:输入包名,通常是反向域名格式,例如 “com.example.myapplication”。
- Save location:选择项目保存路径。
- Language:选择开发语言,推荐选择 “Java” 或 “Kotlin”(Kotlin 是现代语言,推荐优先学习)。
- Minimum API level:选择应用支持的最低 Android 版本。这里选择API 30: Android 11.0(R),配合开发板系统
- 点击 “Finish”。
4. 项目结构
-
创建完成后,你会看到项目的文件结构:
-
app:包含应用的核心代码和资源。
-
java 或 kotlin:存放代码文件。
-
res:存放资源文件,如布局文件(layout)、图片(drawable)、字符串(values)等。
-
maifests:
-
AndroidManifest.xml:应用的配置文件,定义了应用的权限、组件等信息。
-
-
5. 运行应用
- 连接设备:
- 如果你有 Android 手机或者开发板,可以通过 USB 连接设备,并确保开启了开发者选项和 USB 调试。
- 如果没有设备,可以使用 Android Studio 自带的模拟器。点击 “Device Manager” 创建和启动模拟器。
- 运行应用:
- 选择目标设备(真实设备或模拟器)。
- 点击工具栏上的 “Run” 按钮(绿色三角形,重复运行会变成箭头)。
- 应用会自动编译并安装到设备上,启动后你会看到一个空白页面,显示应用名称。下图是模拟器显示的
6.说明
在 Android Studio 中连接设备或启动模拟器,然后点击 Run 按钮(绿色三角形)运行应用时,整个过程涉及多个步骤,包括编译、打包、安装和启动应用。这个过程的核心是 Android Studio 通过 adb(Android Debug Bridge)与设备或模拟器进行交互。以下是详细的过程解析:
编译和打包
当你点击 Run 按钮时,Android Studio 会首先执行以下操作
- 编译代码
- Java/Kotlin 源代码会被编译成 .class 文件,然后转换为 Dalvik 字节码(.dex 文件)。
- Gradle 会解析 build.gradle 文件中的配置,包括依赖项、插件等。
- Android Studio 会调用 Gradle 构建系统来编译你的代码。
- 打包 APK
- Gradle 会将编译后的代码、资源文件(如布局文件、图片等)、依赖库等打包成一个 APK 文件。
- APK 文件是一个 ZIP 格式的归档文件,包含了运行应用所需的所有内容。
安装 APK 到设备
完成编译和打包后,Android Studio 会通过 adb 将 APK 文件安装到连接的设备或模拟器上。具体步骤如下:
- 检测设备
- Android Studio 会通过 adb devices 命令检测当前连接的设备或模拟器。
- 如果没有设备连接,或者设备未正确设置为“开发者模式”,Android Studio 会提示错误。
- 安装 APK
- Android Studio 使用 adb install 命令将 APK 文件推送到设备上。
- 命令格式如下:
- adb install path/to/your-app.apk
- 设备上的 Package Manager 会解析 APK 文件,提取应用的元数据(如包名、权限、Activity 等)。
- Package Manager 会将应用的文件存储到设备的系统目录中(通常是 /data/app),路径在:/data/app/~~NzsVqwQLPac_dyA5OElgoA==/com.example.myapplication-h1vAHCQXT8JaLm-YFZU_ZA==/base.apk
- 安装完成后,应用的包名(如 com.example.myapplication)会被注册到系统的应用管理器中。路径:/data/data/com.example.myapplication/
- 如果设备上已经安装了同版本的应用,adb install 会提示安装失败。这种情况下,Android Studio 会尝试先卸载旧版本,然后重新安装。
启动应用
安装完成后,Android Studio 会通过 adb 启动应用。具体步骤如下:
- 启动应用的主 Activity
- Android Studio 会通过 adb shell 命令启动应用的主 Activity。
- Android Studio 会通过 adb shell 命令启动应用的主 Activity。
- 命令格式如下:
- adb shell am start -n "com.example.myapplication/com.example.myapplication.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
- 命令解析
- adb shell:adb shell 是一个命令行工具,用于在 Android 设备或模拟器上运行 shell 命令。它允许你直接与设备的系统交互,执行各种操作。
- am start
- am 是 ActivityManager 的命令行工具,用于管理 Android 应用的 Activity。
- start 是 am 的一个子命令,用于启动一个新的 Activity。
- -n <包名/Activity名>
- -n 参数用于指定要启动的 Activity 的完整路径。
- 格式为 <包名>/<Activity类名>。
- 在上述命令中:-n "com.example.myapplication/com.example.myapplication.MainActivity",表示启动 com.example.myapplication 包中的 MainActivity。
- -a <动作>
- -a 参数用于指定 Intent 的动作(Action)。
- 在上述命令中:-a android.intent.action.MAIN,表示启动的 Intent 的动作是 android.intent.action.MAIN,这是 Android 中定义的“主入口”动作,通常用于启动应用的主 Activity。
- -c <类别>
- -c 参数用于指定 Intent 的类别(Category)。
- 在上述命令中:-c android.intent.category.LAUNCHER,表示启动的 Intent 的类别是 android.intent.category.LAUNCHER,这是 Android 中定义的“启动器”类别,通常用于将 Activity 添加到应用列表中。
- 完整命令的作用
- 这个命令的作用是启动一个应用的主 Activity,就像用户从设备的主屏幕点击应用图标一样。具体来说,它会创建一个 Intent,其中包含以下信息:
- 动作:android.intent.action.MAIN(主入口)。
- 类别:android.intent.category.LAUNCHER(启动器)。
- 目标 Activity:com.example.myapplication.MainActivity。
- 这个 Intent 会触发 Android 系统启动指定的 Activity,并将其置于任务栈的顶部。
- 这个命令的作用是启动一个应用的主 Activity,就像用户从设备的主屏幕点击应用图标一样。具体来说,它会创建一个 Intent,其中包含以下信息: