andriod 也就是安卓平台开发,主流开发语言包含 Kotlin Java,同时还有跨端方案配套的 Dart C C++ 等语言,谷歌官方现在主推 Kotlin 作为安卓原生首选开发语言,Java 是传统原生开发经典语言,很多早期项目和存量工程仍然大量使用,选择开发语言的时候,要结合项目类型团队技术储备是否需要跨平台复用性能要求来确定,很多刚入门的学习者不清楚原生开发和跨平台开发的语言区别,以为安卓只能用单一语言,实际上不同技术路线对应的开发语言不一样,理解每种语言的定位优势适用场景,再搭配对应的开发工具 Android Studio,就可以顺利开展 andriod 开发工作。之所以会形成现在多语言并存的格局,是因为安卓系统底层基于 Linux 内核,早期原生开发选用 Java,后续谷歌推出 Kotlin 并且全面支持,同时为了满足高性能底层计算游戏渲染需求,开放 NDK 支持 C C++,跨平台框架又引入其他语言实现一套代码多端运行。
原生开发语言介绍
Kotlin
谷歌官方推荐的安卓原生首选语言,和 Java 完全兼容,可以和 Java 代码混编,语法更加简洁,空安全特性可以减少空指针相关问题,现代安卓新项目优先选用 Kotlin,Android Studio 原生内置支持,官方文档示例现在大多以 Kotlin 为主
Java
安卓传统原生开发语言,发展时间久,教程资料开源项目数量非常多,生态成熟,很多老版本安卓项目全部是 Java 编写,语法学习体系完善,适合有 Java 基础的开发者快速上手
底层 NDK 开发语言
C 语言 C++
通过安卓 NDK 工具包进行开发,主要用来编写底层高性能模块,比如游戏引擎音视频编解码图像处理算法,这部分代码直接编译成机器码运行,适合对运行性能要求很高的业务模块,一般不会单独用 C C++ 完成整个 APP,大多和 Kotlin 或者 Java 配合使用
跨平台开发配套语言
Dart
Flutter 框架的开发语言,使用 Dart 编写业务代码,一套代码同时打包安卓和 iOS,UI 渲染由框架自绘,适合需要同时上线双端的项目
还有其他跨平台方案也会使用 JavaScript TypeScript,这类属于跨端框架配套语言,不属于安卓原生语言
各类语言对比表格
语言 类型 定位 适用项目
Kotlin 原生首选 现代安卓原生开发 全新原生 APP 项目
Java 传统原生 经典原生开发 存量老项目 Java 基础开发者
C C++ NDK 底层 高性能底层模块 游戏音视频算法模块
Dart 跨平台 Flutter 跨端项目 安卓 iOS 双端同步开发
开发环境配套说明
核心 IDE 是 Android Studio,这个开发工具对 Kotlin Java 都做了深度集成,支持代码提示编译调试打包,做 NDK 开发的时候还需要额外配置 NDK SDK 组件,Flutter 开发除了 Android Studio 之外,还要安装 Flutter SDK 和 Dart 插件
选型操作步骤
第一步 确认项目是纯安卓原生,还是需要同时兼容 iOS 跨平台
第二步 如果是原生新项目,优先选择官方主推 Kotlin
第三步 如果是接手旧项目,继续沿用原有 Java 技术栈,降低迁移成本
第四步 如果项目有高性能底层运算需求,增加 C C++ NDK 模块
第五步 如果需要双端同步上线,选用 Flutter 搭配 Dart 进行跨端开发
第六步 安装对应 SDK 开发插件,配置好开发环境之后开始编写代码
综合来看,andriod 开发首选原生语言是 Kotlin,Java 是经典备选,C C++ 用于底层高性能模块,Dart 属于跨平台方案语言,开发者可以按照项目需求灵活选择对应的开发语言。
【相关 FAQ】
问题 1 andriod 开发用什么语言,谷歌现在官方主推哪一种
回答 1 andriod 开发用什么语言,谷歌现在官方主推 Kotlin 作为安卓原生首选开发语言,并且支持 Kotlin 和 Java 混编。
问题 2 andriod 开发用什么语言,Java 还可以继续使用吗
回答 2 andriod 开发用什么语言,Java 仍然可以正常使用,属于传统原生开发语言,大量存量安卓项目依旧使用 Java 进行维护开发。
问题 3 andriod 开发用什么语言,C C++ 是用来开发完整 APP 吗
回答 3 andriod 开发用什么语言,C C++ 并不是开发完整 APP,是通过 NDK 开发底层高性能模块,一般和 Kotlin 或者 Java 搭配使用。
【免责申明】
本文内容仅作为安卓开发学习参考,技术方案选型请结合项目实际需求,相关开发规范以谷歌官方最新文档为准。


