Android 应用开发全流程指南从代码编辑到 APK 发布一、环境搭建1. 安装必备工具工具说明Android Studio官方 IDE内置 Gradle、模拟器、调试器JDK 17Java 开发环境Android Studio 自带Android SDK编译和运行所需的平台工具Gradle构建系统Android Studio 自带安装步骤1. 下载 Android Studio官网developer.android.com 2. 运行安装程序首次启动会自动下载 SDK 3. 通过 SDK Manager 安装所需 API Level推荐 API 34/35 4. 通过 AVD Manager 创建模拟器或连接真机开启 USB 调试2. 项目结构概览MyApp/ ├── app/ │ ├── src/ │ │ ├── main/ │ │ │ ├── java/com/example/myapp/ ← Kotlin/Java 源码 │ │ │ ├── res/ ← 资源文件布局、图片、字符串 │ │ │ ├── AndroidManifest.xml ← 应用清单权限、组件声明 │ │ │ └── assets/ ← 原始资源文件 │ │ ├── test/ ← 单元测试 │ │ └── androidTest/ ← UI 测试 │ └── build.gradle.kts ← 模块级构建脚本 ├── build.gradle.kts ← 项目级构建脚本 ├── settings.gradle.kts ← 项目设置 ├── gradle/ ← Gradle Wrapper └── gradlew / gradlew.bat ← Gradle 执行脚本二、编写代码1. 创建新项目在 Android Studio 中File → New → New Project → 选择模板如 Empty Activity关键配置Name: 应用名称如MyAppPackage name: 包名如com.example.myapp这是应用的唯一标识Language: 选择Kotlin官方推荐或 JavaMinimum SDK: 最低支持版本如 API 24 覆盖 95% 设备2. 编写核心代码MainActivity.kt— 主界面逻辑packagecom.example.myappimportandroid.os.Bundleimportandroid.widget.Buttonimportandroid.widget.TextViewimportandroidx.appcompat.app.AppCompatActivityclassMainActivity:AppCompatActivity(){overridefunonCreate(savedInstanceState:Bundle?){super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)valtextView:TextViewfindViewById(R.id.textView)valbutton:ButtonfindViewById(R.id.button)button.setOnClickListener{textView.textHello, Android! }}}res/layout/activity_main.xml— 界面布局?xml version1.0 encodingutf-8?LinearLayoutxmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:gravitycenterandroid:orientationverticalandroid:padding16dpTextViewandroid:idid/textViewandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:textWelcome!android:textSize24sp/Buttonandroid:idid/buttonandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:layout_marginTop16dpandroid:textClick Me//LinearLayoutAndroidManifest.xml— 应用清单?xml version1.0 encodingutf-8?manifestxmlns:androidhttp://schemas.android.com/apk/res/android!-- 声明需要的权限 --uses-permissionandroid:nameandroid.permission.INTERNET/applicationandroid:allowBackuptrueandroid:iconmipmap/ic_launcherandroid:labelstring/app_nameandroid:themestyle/Theme.MyAppactivityandroid:name.MainActivityandroid:exportedtrueintent-filteractionandroid:nameandroid.intent.action.MAIN/categoryandroid:nameandroid.intent.category.LAUNCHER//intent-filter/activity/application/manifest3.build.gradle.kts模块级关键配置plugins{id(com.android.application)id(org.jetbrains.kotlin.android)}android{namespacecom.example.myappcompileSdk35defaultConfig{applicationIdcom.example.myappminSdk24targetSdk35versionCode1versionName1.0.0}buildTypes{release{isMinifyEnabledtrue// 开启代码混淆isShrinkResourcestrue// 压缩无用资源proguardFiles(getDefaultProguardFile(proguard-android-optimize.txt),proguard-rules.pro)}}compileOptions{sourceCompatibilityJavaVersion.VERSION_17 targetCompatibilityJavaVersion.VERSION_17}kotlinOptions{jvmTarget17}}dependencies{implementation(androidx.core:core-ktx:1.13.1)implementation(androidx.appcompat:appcompat:1.7.0)implementation(com.google.android.material:material:1.12.0)implementation(androidx.constraintlayout:constraintlayout:2.1.4)}三、调试与测试1. 运行应用# 命令行方式./gradlew assembleDebug# 编译 Debug APK./gradlew installDebug# 安装到已连接设备# 或通过 Android Studio# 点击 ▶ Run 按钮选择设备模拟器或真机Debug 模式常用技巧断点调试在代码行号旁点击设置断点 → 以 Debug 模式运行LogcatLog.d(TAG, message)查看日志Layout Inspector实时查看 UI 层级结构⚡Apply Changes代码修改后热更新无需重新安装2. 编写测试// app/src/test/java/com/example/myapp/ExampleUnitTest.ktimportorg.junit.Assert.assertEqualsimportorg.junit.TestclassExampleUnitTest{Testfunaddition_isCorrect(){assertEquals(4,22)}}./gradlewtest# 运行单元测试./gradlew connectedAndroidTest# 运行 UI 测试需要设备四、签名与构建 Release APK1. 生成签名密钥keytool-genkeypair\-v\-keystorerelease-key.jks\-keyalgRSA\-keysize2048\-validity10000\-aliasmykey⚠️务必妥善保管.jks文件和密码丢失后无法更新应用2. 配置签名信息在build.gradle.kts中android{signingConfigs{create(release){storeFilefile(release-key.jks)storePasswordSystem.getenv(KEYSTORE_PASSWORD)// 推荐用环境变量keyAliasmykeykeyPasswordSystem.getenv(KEY_PASSWORD)}}buildTypes{release{signingConfigsigningConfigs.getByName(release)isMinifyEnabledtrueisShrinkResourcestrueproguardFiles(getDefaultProguardFile(proguard-android-optimize.txt),proguard-rules.pro)}}}3. 构建 Release APK./gradlew clean assembleRelease生成的 APK 位于app/build/outputs/apk/release/app-release.apk4. 构建 App BundleGoogle Play 推荐./gradlew clean bundleRelease生成 AAB 文件app/build/outputs/bundle/release/app-release.aabAAB vs APKAAB 由 Google Play 根据用户设备动态生成优化 APK体积更小。五、发布分发方案 AGoogle Play 商店1. 注册 Google Play 开发者账号一次性费用 $25 2. 进入 Google Play Console → 创建应用 3. 填写应用信息名称、描述、截图、图标、隐私政策 4. 上传 AAB 文件 5. 设置定价和分发国家 6. 提交审核通常 1-3 天方案 B直接分发 APK1. 将 APK 上传至网站、网盘或第三方应用市场 2. 用户下载后需允许安装未知来源应用 3. 注意国内可上架各大应用商店华为、小米、OPPO、vivo 等方案 C国内应用商店中国大陆常用商店开发者平台华为应用市场developer.huawei.com小米应用商店dev.mi.comOPPO 软件商店open.oppomobile.comvivo 应用商店dev.vivo.com.cn应用宝app.open.qq.com360 手机助手dev.360.cn各商店需注册开发者账号提交企业资质、软著证书等审核材料。六、完整流程图┌─────────────────────────────────────────────────────────────┐ │ 1. 环境搭建 │ │ Android Studio JDK SDK 模拟器/真机 │ ├─────────────────────────────────────────────────────────────┤ │ 2. 创建项目 │ │ New Project → 选模板 → 配置包名、SDK、语言 │ ├─────────────────────────────────────────────────────────────┤ │ 3. 编写代码 │ │ Kotlin/Java 逻辑 XML/Compose 布局 Manifest 配置 │ ├─────────────────────────────────────────────────────────────┤ │ 4. 调试测试 │ │ Debug 运行 Logcat 单元测试 UI 测试 │ ├─────────────────────────────────────────────────────────────┤ │ 5. 签名构建 │ │ 生成密钥 → 配置签名 → assembleRelease / bundleRelease │ ├─────────────────────────────────────────────────────────────┤ │ 6. 发布分发 │ │ Google Play / 国内商店 / 直接分发 APK │ └─────────────────────────────────────────────────────────────┘七、常用命令速查表命令说明./gradlew assembleDebug构建 Debug APK./gradlew assembleRelease构建 Release APK./gradlew bundleRelease构建 App Bundle./gradlew installDebug安装 Debug 版到设备./gradlew test运行单元测试./gradlew clean清理构建产物./gradlew signingReport查看签名信息./gradlew dependencies查看依赖树八、进阶建议️架构模式学习 MVVM Repository 架构现代 UI学习 Jetpack Compose声明式 UI替代 XML 布局依赖注入使用 Hilt / Koin️本地存储RoomSQLite 封装、DataStore替代 SharedPreferences网络请求Retrofit OkHttp Kotlin Coroutines导航Jetpack Navigation Component性能优化使用 Android Profiler 分析内存、CPU、网络安全使用 EncryptedSharedPreferences、ProGuard/R8 混淆