[056]CLion查看Android Native代码
2020-06-12 本文已影响0人
王小二的技术栈
前言
作为非高阶的工程师,还是喜欢IDE开发,今天教一下如何在CLion中查看和开发Native代码,用过了你肯定会爱不释手。
一、安装CLion
1.1 下载CLion并安装
https://www.jetbrains.com/clion/
1.2 激活CLion
用学生证申请一个教育者账号,一年有效期
花钱购买
不建议大家使用破解工具
二、如何生成CLion的项目
源码中的build/soong/docs/clion.md
这个文件已经介绍的很清楚了,我猜很多Google的Android工程师也是这样子干活的。
简单翻译一下
Soong可以生成CLion项目。只用于源代码编辑,编译还是需要通过 make/m/mm(a)/mmm(a)
.
CMakeLists.txt
文件通过环境变量启用生成:
$ export SOONG_GEN_CMAKEFILES=1
$ export SOONG_GEN_CMAKEFILES_DEBUG=1
你可以触发完整生成:
$ make -j64
如果知识想要查看所有代码,但是不需要编译
$ make nothing
或者只生成您感兴趣的项目:
$ make frameworks/native/service/libs/ui
项目生成在 out
目录. 例如libui
,目录如下:
out/development/ide/clion/frameworks/native/libs/ui/libui-arm64-android/CMakeLists.txt
注意:生成器为每个目标体系结构操作系统组合创建一个文件夹。
在libui的例子中,您最终得到两个项目(选择你想要的,一般选择libui-arm64-android
):
$ ls out/development/ide/clion/frameworks/native/libs/ui
libui-arm64-android libui-arm-android
一次编辑多个项目
要将多个项目合并为一个项目,可以创建超级项目把它们放在:
development/ide/clion/[PATH_YOU_WANT]/..
这些文件将以符号形式链接到 out/development/ide/clion
,所有文件夹也将在那里创建。
一个超级项目的例子surfaceflinger
(使用libui
和 libgui
)
位于 development/ide/clion/frameworks/native
cmake_minimum_required(VERSION 3.6)
project(native)
add_subdirectory(services/surfaceflinger)
add_subdirectory(libs/ui/libui-arm64-android)
add_subdirectory(libs/gui/libgui-arm64-android)
三、总结
CLion真的很强大,大家还是需要自己实际操作体会一下,其实用CLion看Kernel代码更加爽。