前言
作為非高階的工程師,還是喜歡IDE開發(fā),今天教一下如何在CLion中查看和開發(fā)Native代碼,用過了你肯定會愛不釋手。
一、安裝CLion
1.1 下載CLion并安裝
https://www.jetbrains.com/clion/
1.2 激活CLion
用學(xué)生證申請一個教育者賬號,一年有效期
花錢購買
不建議大家使用破解工具
二、如何生成CLion的項目
源碼中的build/soong/docs/clion.md這個文件已經(jīng)介紹的很清楚了,我猜很多Google的Android工程師也是這樣子干活的。
簡單翻譯一下
Soong可以生成CLion項目。只用于源代碼編輯,編譯還是需要通過 make/m/mm(a)/mmm(a).
CMakeLists.txt文件通過環(huán)境變量啟用生成:
$ export SOONG_GEN_CMAKEFILES=1
$ export SOONG_GEN_CMAKEFILES_DEBUG=1
你可以觸發(fā)完整生成:
$ 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
注意:生成器為每個目標(biāo)體系結(jié)構(gòu)操作系統(tǒng)組合創(chuàng)建一個文件夾。
在libui的例子中,您最終得到兩個項目(選擇你想要的,一般選擇libui-arm64-android):
$ ls out/development/ide/clion/frameworks/native/libs/ui
libui-arm64-android libui-arm-android
一次編輯多個項目
要將多個項目合并為一個項目,可以創(chuàng)建超級項目把它們放在:
development/ide/clion/[PATH_YOU_WANT]/..
這些文件將以符號形式鏈接到 out/development/ide/clion,所有文件夾也將在那里創(chuàng)建。
一個超級項目的例子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)
三、總結(jié)
CLion真的很強(qiáng)大,大家還是需要自己實際操作體會一下,其實用CLion看Kernel代碼更加爽。