Android 应用开发入门
1. 概述
1.1 功能简介
本文档介绍基于 M4-R2(RK3576)的 Android 14 应用开发方法,涵盖 Android Studio 开发环境搭建、项目结构、Activity 生命周期、UI 布局、应用编译安装与调试等内容,帮助开发者从零开始开发运行在 M4-R2 上的 Android 应用。
1.2 适用范围
- 初次搭建 Android 应用开发环境
- 开发适用于 RK3576 平板的 Android 应用
- 将应用安装到 M4-R2 进行验证与调试
1.3 前置条件
- M4-R2 开发板已烧录 Android 14 系统
- 已开启 USB 调试(详见 Android系统基础操作)
- 电脑安装 JDK 17 与 Android Studio
2. 开发环境搭建
2.1 安装 Android Studio
| 项目 | 要求 |
|---|---|
| 操作系统 | Windows / Linux / macOS |
| Android Studio | 最新稳定版 |
| SDK Platform | API 34(Android 14) |
| JDK | JDK 17 |
| 构建工具 | Gradle 8.x + AGP 8.x |
2.2 配置 SDK
在 Android Studio 中通过 SDK Manager 安装:
Android SDK Platform 34Android SDK Build-ToolsAndroid SDK Platform-Tools(包含 adb)
2.3 连接开发板
# 确认 adb 设备识别
adb devices
# 输出:序列号 device3. 创建第一个应用
3.1 新建项目
选择 File → New → New Project,模板选择 Empty Views Activity:
| 配置项 | 推荐值 |
|---|---|
| Project Name | HelloM4R2 |
| Package Name | com.shimeta.m4r2 |
| Language | Kotlin(Java 亦可) |
| Minimum SDK | API 30 |
| Build Configuration | Kotlin DSL |
3.2 项目结构
HelloM4R2/
├── app/
│ ├── src/main/
│ │ ├── java/com/shimeta/m4r2/
│ │ │ ├── MainActivity.kt
│ │ │ └── ...
│ │ ├── res/
│ │ │ ├── layout/activity_main.xml
│ │ │ ├── values/strings.xml
│ │ │ └── ...
│ │ └── AndroidManifest.xml
│ └── build.gradle.kts
├── build.gradle.kts
└── settings.gradle.kts3.3 AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application
android:label="Hello M4-R2"
android:theme="@style/Theme.HelloM4R2">
<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>3.4 Activity 生命周期
Activity 生命周期回调(Kotlin):
package com.shimeta.m4r2
import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
companion object {
private const val TAG = "MainActivity"
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
Log.d(TAG, "onCreate")
}
override fun onStart() {
super.onStart()
Log.d(TAG, "onStart")
}
override fun onResume() {
super.onResume()
Log.d(TAG, "onResume")
}
override fun onPause() {
super.onPause()
Log.d(TAG, "onPause")
}
override fun onStop() {
super.onStop()
Log.d(TAG, "onStop")
}
override fun onDestroy() {
super.onDestroy()
Log.d(TAG, "onDestroy")
}
}生命周期时序:
启动:onCreate → onStart → onResume
退后台:onPause → onStop
回到前台:onRestart → onStart → onResume
销毁:onPause → onStop → onDestroy3.5 UI 布局
布局文件 res/layout/activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center">
<TextView
android:id="@+id/tvHello"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello M4-R2!"
android:textSize="32sp" />
<Button
android:id="@+id/btnClick"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="点击测试"
android:onClick="onButtonClick" />
</LinearLayout>MainActivity 中绑定事件:
fun onButtonClick(view: View) {
findViewById<TextView>(R.id.tvHello).text = "RK3576 Android 14"
}4. 编译与安装
4.1 编译 APK
在 Android Studio 中选择 Build → Build Bundle(s) / APK(s) → Build APK(s),产物位于 app/build/outputs/apk/debug/。
4.2 安装到开发板
# 安装 APK
adb install -r app/build/outputs/apk/debug/app-debug.apk
# 启动应用(通过包名和 Activity)
adb shell am start -n com.shimeta.m4r2/.MainActivity
# 查看日志
adb logcat -s MainActivity5. 调试方法
5.1 Logcat 调试
import android.util.Log
Log.d("MainActivity", "debug message")
Log.i("MainActivity", "info message")
Log.e("MainActivity", "error message")adb logcat -s MainActivity5.2 断点调试
- 在代码行号处点击设置断点
- 选择
Run → Attach Debugger to Android Process - 选择目标进程后进入调试
5.3 布局检查
# 检查布局层次
adb shell dumpsys activity top
# 获取界面截图
adb exec-out screencap -p > screen.png6. 常见问题
6.1 应用安装失败
解决方案:
- 确认 Android 版本兼容(Android 14 / API 34)
- 检查 APK 是否已签名(debug 版自动签名)
- 查看详细错误:
adb install输出或adb logcat
6.2 应用闪退
解决方案:
- 查看崩溃日志:
adb logcat -b crash - 确认 Activity 已在 Manifest 中声明
- 检查布局资源引用是否正确
6.3 无法连接开发板
解决方案:
- 确认 USB 调试已开启
- 更换 USB 数据线
- 执行
adb kill-server && adb start-server
6.4 应用无法获取 root 权限
解决方案:
- 应用自身无需 root 即可正常运行
- 系统级操作需编译到系统镜像(
PRODUCT_PACKAGES) - 或使用 userdebug 版本配合
adb root
7. 相关文档
- Android JNI开发 — JNI 与 NDK 开发
- Android系统基础操作 — 系统操作
- ADB调试与日志分析 — 日志分析
- Qt嵌入式开发实战 — Qt 应用开发
- 底板接口定义 — 底板接口
