工控开发 PC 环境搭建:Android Studio、SDK、NDK、adb 完整配置
环境搭不好,后面全是坑。这篇文章我尽量把所有环节说清楚,争取让你一次配通,不用到处百度"Android Studio 打不开"、“adb 找不到设备”。
一、JDK 安装与配置
安卓开发的基础是 Java,虽然 Kotlin 现在是官方主推语言,但工控领域依然是 Java 的天下——老代码多、兼容性好、JNI 调用成熟。
1.1 版本选择
Android Studio 从 2023 版本开始默认内置了 JDK 17(即 JBR,JetBrains Runtime),理论上你不需要额外安装 JDK。但工控开发经常要用命令行编译,所以还是建议独立装一份。
| JDK 版本 | 适用场景 | 推荐度 |
|---|---|---|
| JDK 8 | 老项目、维护代码 | 兼容性好,新项目不推荐 |
| JDK 11 | LTS 版本,Android Gradle Plugin 4.x 最低要求 | 过渡选择 |
| JDK 17 | 当前推荐版本,Android Gradle Plugin 8.x 要求 | 首选 |
工控开发建议直接用JDK 17。
1.2 安装与环境变量
Windows 下下载 OpenJDK 17 的 MSI 安装包,一路 Next 即可。关键步骤是配置环境变量。
假设安装路径为C:\Program Files\Eclipse Adoptium\jdk-17.0.9.9-hotspot\:
新建系统变量: 变量名:JAVA_HOME 变量值:C:\Program Files\Eclipse Adoptium\jdk-17.0.9.9-hotspot\ 编辑 Path 变量,新增: %JAVA_HOME%\bin验证:
java-versionjavac-version看到版本号输出就说明 JDK 配好了。
二、Android Studio 安装与初始配置
2.1 下载与安装
到 Android Studio 官网 下载最新稳定版。工控开发不需要追最新,稳定优先。安装过程注意:
- 安装路径:避免中文和空格,建议直接放 C 盘根目录,比如
C:\Android\Android Studio - SDK 路径:同样避开中文路径,建议
C:\Android\SDK - 不勾选Android Virtual Device(工控设备都是真机调试,模拟器用不到)
2.2 首次启动配置
第一次启动 Android Studio 会弹出 Setup Wizard:
- 选择 “Custom” 安装类型
- SDK Components:可以先把 API 34 勾上,后面通过 SDK Manager 再补充
- 等待下载完成即可
工控开发常见坑:很多工业平板跑的还是 Android 7/8/9,甚至是 Android 5.1。你需要根据目标设备的实际安卓版本来选择compileSdk和targetSdk,而不是一味追新。
三、SDK Manager 配置:选对 API 级别
打开 SDK Manager:Tools → SDK Manager,或者在 Android Studio 顶部工具栏找到 SDK Manager 图标。
对于工控开发,建议安装以下 SDK 组件:
| 组件 | 勾选内容 | 说明 |
|---|---|---|
| SDK Platforms | Android 9.0 (API 28) | 大批工控设备仍跑 Android 9 |
| SDK Platforms | Android 11.0 (API 30) | 较新工控设备使用 |
| SDK Platforms | Android 14.0 (API 34) | 用于 compileSdk 保持向上兼容 |
| SDK Tools | Android SDK Build-Tools | 勾选最新的就行 |
| SDK Tools | Android SDK Platform-Tools | adb 就在这里 |
| SDK Tools | Android SDK Command-line Tools | 命令行编译需要 |
| SDK Tools | NDK (Side by side) | 工控开发必装 |
四、NDK 安装:JNI 开发的基石
工控开发绕不开 JNI——串口读写、GPIO 控制、CAN 通信,都需要通过 JNI 调用 C/C++ 代码和 Linux 驱动交互。
4.1 通过 SDK Manager 安装
在 SDK Manager 的 “SDK Tools” 标签页中,勾选 “NDK (Side by side)”,点击 Apply 等待下载完成。当前推荐版本是 NDK 25.x 或 26.x。
4.2 配置 NDK 环境变量(命令行需要)
如果你要在命令行用ndk-build编译:
新建系统变量: 变量名:NDK_HOME 变量值:C:\Android\SDK\ndk\26.1.10909125 编辑 Path 变量,新增: %NDK_HOME%验证:
ndk-build--version4.3 在项目中启用 NDK
在build.gradle(Module 级别) 中:
android{defaultConfig{ndk{abiFilters'armeabi-v7a','arm64-v8a'// 工控设备大多是 ARM 架构,全志、瑞芯微的板子都是 armeabi-v7a}}externalNativeBuild{cmake{path"src/main/cpp/CMakeLists.txt"version"3.22.1"}}}工控设备常见的 CPU 架构是armeabi-v7a(32 位 ARM)和arm64-v8a(64 位 ARM),x86 的直接不用打,浪费包体积。
五、adb 环境变量配置
adb 是工控开发中使用频率最高的工具——没有之一。日志抓取、文件推送、权限调试、重启刷机,全指望它。下一篇文章会详细讲 adb 实战,这里先把环境变量配好。
adb 位于 SDK 的platform-tools目录下,比如C:\Android\SDK\platform-tools。
编辑 Path 变量,新增: C:\Android\SDK\platform-tools验证:
adb version输出类似Android Debug Bridge version 1.0.41就 OK。
小技巧:工控设备默认开启 USB 调试的比较少,很多时候需要先用网络 ADB 连上,然后进入系统设置里把 USB 调试开关打开。下文会详细展开。
六、创建第一个工控测试项目
环境配好之后,建一个项目验证一下。
- New Project → Empty Views Activity
- 项目名:
IndustrialControlDemo - 包名:
com.example.industrialcontrol - Minimum SDK:选择 API 28 (Android 9.0),确保兼容常见工控设备
- 语言选 Java
创建完成后,在build.gradle中确认关键配置:
android{compileSdk34defaultConfig{applicationId"com.example.industrialcontrol"minSdk28targetSdk34versionCode1versionName"1.0"}}工控项目的第一个修正:在AndroidManifest.xml中加入 SYSTEM_ALERT_WINDOW 和 WRITE_SETTINGS 权限——这在工控开发中是家常便饭:
<uses-permissionandroid:name="android.permission.SYSTEM_ALERT_WINDOW"/><uses-permissionandroid:name="android.permission.WRITE_SETTINGS"/>七、常见环境问题排查
| 问题现象 | 可能原因 | 解决方法 |
|---|---|---|
| Android Studio 启动报 JDK 错误 | 环境变量 JAVA_HOME 指向了旧版本 | 更新 JAVA_HOME 到 JDK 17 路径 |
| Gradle Sync 失败 “Could not find com.android.tools.build:gradle” | 网络问题,无法下载 Gradle | 配置阿里云镜像或使用离线 Gradle |
| NDK 编译报错 “No toolchains found” | NDK 版本与 Gradle Plugin 不兼容 | SDK Manager 中更换 NDK 版本 |
| adb 找不到设备 | 驱动未安装或设备未开启 USB 调试 | 安装对应芯片的 USB 驱动(瑞芯微/全志/MTK) |
| “Unable to locate adb” | adb 不在 PATH 中 | 检查 Path 环境变量是否包含 platform-tools |
| “Installation failed due to: INSTALL_FAILED_TEST_ONLY” | 默认 debug 包有 testOnly 标记 | 使用adb install -t安装 |
| 编译速度极慢 | Gradle 内存不够 | 修改gradle.properties:org.gradle.jvmargs=-Xmx2048m |
八、总结
开发环境搭建看似简单,但有太多第一次配环境配到心态崩了的新人。核心就三件事:
- JDK + Android Studio:开发工具本体,版本不要太激进
- SDK + NDK:你的武器弹药库,API 级别要向下兼容到目标设备
- adb:你与工控设备之间的桥梁,下一篇文章我们把它玩透
以上一气呵成配好,后面就是写代码的事了。