https://www.chromium.org/developers/how-tos/android-build-instructions


사실 저 위에 내용이 다 나와 있지만 헷갈리니 보기 쉽게 설명! 


1. depot_tools package 설치 

 https://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html#_setting_up


2. 소스코드 다운로드!

$ mkdir ~/chromium && cd ~/chromium

~/chromium$ fetch --nohooks android   # This will take 30 minutes on a fast connection


만약 Linux 버전으로 checkout 된 버전이 존재한다면 fetch하지 않고 .gclient 파일에 target_os = ['android']를 추가해주면 된다.


3. 소스코드 빌드하기

 Chromium을 빌드 할 수 있는 방법은 두가지가 있다.

 GYP build와 GN build가 있는데, 나는 GYP build로! (원래는 GYP build도 됬었는데, 현재는 제대로 지원안하는 것 같고 GN build로 해야 제대로 되는 것 같다)


-GYP Build

~/chromium$ echo "{ 'GYP_DEFINES': 'OS=android target_arch=arm', }" > chromium.gyp_env

~/chromium$ gclient runhooks


-GN Build

$ export GYP_CHROMIUM_NO_ACTION=1


$ ~/chromium/src$ gn args out/Default

 * out  뒤에 폴더명은 Default 대신 다른이음으로 대체가능 

 

파일이 열리면 입력 


target_os = "android"

target_cpu = "arm"  # (default)

is_debug = true  # (default)


# Other args you may want to set:

is_component_build = true

is_clang = true

symbol_level = 1  # Faster build with fewer symbols. -g1 rather than -g2

enable_incremental_javac = true  # Much faster; experimental



- 빌드 dependencies 설정 

 빌드에 필요한 시스템 패키지 업데이트 

~/chromium$ src/build/install-build-deps-android.sh 


OpenJDK 설정 업데이트 -> 없으면 설치법은 (https://www.davidlab.net/ko/tech/how-to-setup-android-dev-env-on-ubuntu-part1/)

sudo update-alternatives --config javac

sudo update-alternatives --config java

sudo update-alternatives --config javaws

sudo update-alternatives --config javap

sudo update-alternatives --config jar

sudo update-alternatives --config jarsigner


- 하위 디렉토리 동기화

~/chromium/src$ gclient sync


4. APK 빌드& 설치

~/chromium/src$ . build/android/envsetup.sh


device 연결 됬는지 확인!

third_party/android_tools/sdk/platform-tools/adb devices


빌드를 full browser, Content shell, Webview shell 버전 각각 다르게 할 수 있다.

- Full browser 빌드

~/chromium/src$ ninja -C out/Release chrome_public_apk

~/chromium/src$ build/android/adb_install_apk.py out/Release/apks/ChromePublic.apk  # For gyp


다른 버전들 빌드 방법은 위에 있는 크로미움 사이트에서 확인가능!


- 설치 

 ~/chromium/src$ build/android/adb_install_apk.py out/Release/apks/ChromePublic.apk                        # For gyp.

 ~/chromium/src$ CHROMIUM_OUTPUT_DIR=$gndir build/android/adb_install_apk.py $gndir/apks/ChromePublic.apk  # For gn

+ Recent posts