2、开发环境搭建:Android Studio 配置、iOS Xcode 配置、模拟器与真机调试、常用工具介绍
说实话,搭建开发环境这事儿,看着简单,但坑是真不少。我见过太多同学花了一整天装环境,最后卡在一个莫名其妙的报错上。这一章,我就把 Android 和 iOS 两边怎么配、怎么调、怎么避坑,一次性给你讲清楚。
2.1 Android Studio 配置
Android 这边,官方推荐的就是 Android Studio。我个人习惯用最新稳定版,别追预览版,容易翻车。
2.1.1 下载与安装
去官网下载 Android Studio,安装时注意勾选「Android Virtual Device」和「Performance Intel HAXM」。HAXM 这个玩意儿,说白了就是让你的模拟器跑得快一点。如果你用的是 AMD 的 CPU,那就得装 WHPX 或者 Hyper-V。
2.1.2 SDK 与 NDK 配置
安装完成后,打开 SDK Manager。你需要确保以下组件已安装:
- SDK Platforms:至少选一个 API Level 21 以上的版本(我建议 API 24 起步)
- SDK Tools:勾选 NDK、CMake、LLDB
- NDK:OpenGL ES 开发需要 NDK,因为我们要写 C/C++ 代码
你想想看,如果只装 SDK 不装 NDK,那你的 OpenGL ES 代码根本编译不了。嗯,这里要注意,NDK 版本别选太新,我一般用 r21 或 r23,兼容性最好。
2.1.3 创建 OpenGL ES 项目
新建项目时,选择「Native C++」模板。这样会自动生成 CMakeLists.txt 和基本的 C++ 文件。然后你在 build.gradle 里加上 OpenGL ES 的依赖:
android {
defaultConfig {
externalNativeBuild {
cmake {
cppFlags "-std=c++11"
arguments "-DANDROID_STL=c++_shared"
}
}
}
externalNativeBuild {
cmake {
path "src/main/cpp/CMakeLists.txt"
}
}
}
CMakeLists.txt 里记得链接 GLESv2 或 GLESv3:
target_link_libraries(
native-lib
GLESv3
EGL
android
log
)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror"),这样编译时能发现更多潜在问题。
2.2 iOS Xcode 配置
iOS 这边,Xcode 是唯一的选择。说实话,苹果的生态封闭归封闭,但开发体验确实丝滑。
2.2.1 下载与安装
从 Mac App Store 下载 Xcode。安装完后,记得打开一次,让它自动安装命令行工具。你可以在终端里验证:
xcode-select --install
xcodebuild -version
如果看到版本号,说明装好了。我曾经遇到过一次 xcodebuild 报错,后来发现是 Command Line Tools 没选对。去 Xcode -> Preferences -> Locations 里选一下就好了。
2.2.2 创建 OpenGL ES 项目
新建项目时,选择「iOS -> App」模板。然后在 Build Settings 里做两件事:
- 把「C++ Standard Library」改成「libc++」
- 在「Linked Frameworks and Libraries」里添加
OpenGLES.framework和GLKit.framework
代码里引入头文件:
#import <OpenGLES/ES3/gl.h>
#import <OpenGLES/ES3/glext.h>
#import <GLKit/GLKit.h>
2.3 模拟器与真机调试
模拟器调试方便,真机调试准确。两者各有优劣,我一般这么用:
| 对比项 | 模拟器 | 真机 |
|---|---|---|
| 启动速度 | 快(Android 稍慢) | 慢(需要编译+安装) |
| GPU 性能 | 模拟的 GPU,不准确 | 真实 GPU,性能准确 |
| 调试能力 | 支持断点、日志 | 支持断点、日志、GPU 调试 |
| 适用场景 | 逻辑调试、UI 验证 | 性能测试、兼容性测试 |
2.3.1 Android 真机调试
首先,打开手机的「开发者选项」和「USB 调试」。不同手机开启方式不同,一般是连续点击「关于手机」里的版本号 7 次。然后插上 USB 线,在 Android Studio 里选择你的设备。
我曾经踩过一个坑:手机连上电脑后,Android Studio 死活识别不到。后来发现是 USB 连接模式默认是「仅充电」,改成「传输文件」就好了。
2.3.2 iOS 真机调试
iOS 真机调试需要 Apple 开发者账号。免费账号也能调试,但每 7 天要重新签名一次。付费账号(99 美元/年)就没这个限制。
操作步骤:
- 在 Xcode 里添加你的 Apple ID
- 选择你的 Team(个人账号就是自己的名字)
- 修改 Bundle Identifier,确保唯一
- 插上 iPhone,选择设备,点击运行
2.4 常用工具介绍
工欲善其事,必先利其器。下面这几个工具,是我做 OpenGL ES 开发时几乎每天都要用的。
2.4.1 RenderDoc
RenderDoc 是图形调试的神器。它可以抓取每一帧的 GPU 指令,查看纹理、着色器、顶点数据。支持 Android 和 Windows,iOS 暂时不支持。
用法很简单:在 Android 上,把 RenderDoc 的库集成到 APK 里,然后启动应用,点击「Capture」就能抓帧。你可以逐条查看每个 Draw Call 的输入输出。
2.4.2 Android GPU Inspector (AGI)
AGI 是 Google 出的工具,专门用来分析 Android 上的 GPU 性能。它能显示每一帧的渲染耗时、GPU 利用率、带宽占用等。我一般用它来定位性能瓶颈。
2.4.3 Xcode GPU Frame Debugger
iOS 上,Xcode 自带的 GPU Frame Debugger 就很好用。在真机上运行时,点击调试栏的「Capture GPU Frame」按钮,就能看到当前帧的所有渲染信息。你可以查看每个 Pass 的纹理、深度缓冲、着色器代码。
2.4.4 其他小工具
- GLSL Validator:在线检查着色器语法,省得编译时报错
- ImageMagick:命令行处理纹理图片,批量转换格式很方便
- adb logcat:Android 日志查看,我习惯用
adb logcat -s "GLES"过滤 OpenGL ES 相关的日志
总结一下: 环境搭建是第一步,也是最重要的一步。Android 用 Android Studio + NDK,iOS 用 Xcode + OpenGLES.framework。模拟器适合快速验证,真机调试才能看到真实性能。工具方面,RenderDoc 和 AGI 是 Android 的利器,Xcode GPU Debugger 是 iOS 的标配。
嗯,把这些配好了,后面写代码才能顺风顺水。下一章,我们就开始写第一个 OpenGL ES 程序——画一个三角形。
公众号:蓝海资料掘金营,微信 deep3321