1. Android Studio 项目创建与工程结构解析

Android Studio 项目创建与工程结构解析 学习卡片

创建 Empty Activity 项目

在 Android Studio 欢迎界面选择 New Project,模板列表中选择 Empty Activity(注意不是 Empty Views Activity 之外的其它模板)。在配置页填写以下关键字段:

  • Name:HelloAndroid(应用显示名)
  • Package name:com.example.helloandroid(唯一标识,反向域名)
  • Save location:本地空目录,路径不要含中文与空格
  • Language:Kotlin
  • Minimum SDK:API 24(Android 7.0,覆盖率高且语法支持好)
  • Build configuration language:Kotlin DSL(build.gradle.kts)

点击 Finish 后,Android Studio 会执行一次 Gradle Sync,从本地或远程仓库解析 AGP、Kotlin 插件与 AndroidX 依赖。首次同步需要联网下载依赖,耗时取决于网络;同步成功后工具栏的 Run 按钮才会变为可用状态。

工程目录职责划分

项目创建完成后,左侧 Project 面板切换到 Android 视图,会看到按逻辑分组的目录。理解每个目录的职责,是后续所有案例的基础:

目录 / 文件职责本案例关注点
app/src/main/java/…Kotlin/Java 源码,按包名分层MainActivity.kt 是唯一入口 Activity
app/src/main/res/layoutXML 布局文件activity_main.xml 定义界面结构
app/src/main/res/values字符串、颜色、主题等常量strings.xml 中的 app_name 决定桌面名称
app/src/main/res/mipmap-*不同密度的启动图标ic_launcher 系列
app/src/main/AndroidManifest.xml应用清单:组件声明、权限、入口声明 MainActivity 并标记 LAUNCHER
app/build.gradle.kts模块级构建脚本:SDK 版本、依赖compileSdk / minSdk / dependencies
build.gradle.kts(根)工程级脚本:插件版本统一管理AGP 与 Kotlin 插件声明
settings.gradle.kts声明参与构建的模块与仓库include(":app")
gradle/libs.versions.toml版本目录,集中管理依赖版本AndroidX 依赖版本来源
Android 视图是逻辑映射,不是磁盘真实结构。切到 Project 视图可看到真实的 app/src/main 层级,两者对照理解更清晰。

构建链路与运行验证

点击 Run 后,Android Studio 依次执行:Gradle 编译资源与 Kotlin 源码 → 打包 APK → 通过 ADB 安装到模拟器 → 启动 MainActivity。若模拟器未创建,需先在 Device Manager 中新建一个 API 34 的 Pixel 设备。运行成功的判断依据是:模拟器桌面出现 HelloAndroid 图标,点击后显示 "Hello Android!" 文本,且 Logcat 无 FATAL EXCEPTION。

Android 工程结构与构建运行链路 工程结构(Android 视图) app/ src/main/java/…/MainActivity.kt src/main/res/layout/activity_main.xml src/main/res/values/strings.xml src/main/res/mipmap-*/ic_launcher src/main/AndroidManifest.xml app/build.gradle.kts build.gradle.kts(根) settings.gradle.kts gradle/libs.versions.toml 构建 → 安装 → 运行链路 Gradle Sync 解析 AGP / Kotlin 插件 / AndroidX 依赖 编译资源 + Kotlin 源码 aapt2 处理 res/,kotlinc 编译 .kt 打包 APK 合并 Manifest + 资源 + dex ADB 安装到模拟器 adb install app-debug.apk 启动 MainActivity LAUNCHER intent → onCreate → setContentView ✓ 模拟器显示 "Hello Android!",Logcat 无崩溃

关键文件内容核对

创建完成后,打开以下三个文件确认内容与预期一致,这是判断工程是否正确的直接依据:

// app/src/main/java/com/example/helloandroid/MainActivity.kt
package com.example.helloandroid

import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.material3.Text

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            Text("Hello Android!")
        }
    }
}
<!-- app/src/main/AndroidManifest.xml -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
    <application
        android:label="@string/app_name"
        android:icon="@mipmap/ic_launcher">
        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>
// app/build.gradle.kts(关键片段)
android {
    namespace = "com.example.helloandroid"
    compileSdk = 34
    defaultConfig {
        applicationId = "com.example.helloandroid"
        minSdk = 24
        targetSdk = 34
        versionCode = 1
        versionName = "1.0"
    }
}
若 Run 按钮灰色不可点,通常是 Gradle Sync 未完成或失败。查看 Build 面板的报错信息,常见原因是网络无法访问 Maven 仓库,或 JDK 版本与 AGP 不匹配(AGP 8.x 需要 JDK 17)。

验证清单

  • Gradle Sync 成功,Build 面板显示 BUILD SUCCESSFUL
  • 模拟器已启动且 adb devices 能识别到设备
  • 应用安装后桌面出现 HelloAndroid 图标
  • 点击图标进入界面,显示 "Hello Android!"
  • Logcat 过滤 FATAL EXCEPTION 无输出