이 리포지토리에는 macOS, Windows 및 Linux용 Brave 데스크톱 브라우저를 빌드하는 데 필요한 빌드 도구가 포함되어 있습니다. 특히 package.json
및 src/brave/DEPS
에 정의된 프로젝트에서 코드를 가져오고 동기화합니다.
크롬
depot_tools
통해 코드를 가져옵니다.
Chromium의 분기를 설정합니다(예: 65.0.3325.181).
용감한
src/brave
에 마운트되었습니다.
타사 Chromium 코드에 대한 패치를 유지 관리합니다.
애드블록-러스트
Brave의 광고 차단 엔진을 구현합니다.
Brave/adblock-rust-ffi를 통해 연결되었습니다.
당사 웹사이트를 방문하여 최신 안정 버전을 다운로드할 수 있습니다.
기여 가이드라인을 참조하세요.
우리 위키에는 유용한 기술 정보도 있습니다.
Brave에 더 많이 참여하고 싶다면 Q&A 커뮤니티에 가입하세요. 도움을 요청하고, 보고 싶은 기능에 대해 논의하는 등 다양한 작업을 수행할 수 있습니다. Brave를 계속해서 개선할 수 있도록 여러분의 도움을 받고 싶습니다.
https://explore.transifex.com/brave/brave_en/에 번역을 제출하여 Brave를 귀하의 언어로 번역하는 데 도움을 주세요.
중요한 뉴스와 공지 사항을 보려면 Twitter에서 @brave를 팔로우하세요.
해당 플랫폼에 대한 지침을 따르십시오.
macOS
iOS
윈도우
리눅스/안드로이드
필수 구성 요소가 설치되면 코드를 가져오고 빌드 환경을 초기화할 수 있습니다.
git clone [email protected]:brave/brave-core.git 경로-프로젝트 폴더/src/bravecd 경로-프로젝트 폴더/src/brave npm install# Chromium 소스가 다운로드되었으며 기록이 기가바이트에 달합니다.# 인터넷 속도에 따라 완료하는 데 시간이 오래 걸릴 수 있습니다.npm run init
Brave-core 기반 Android 빌드는 npm run init -- --target_os=android --target_arch=arm
(또는 빌드하려는 CPU 유형)을 사용해야 합니다. Brave-core 기반 iOS 빌드는 npm run init -- --target_os=ios
사용해야 합니다. npm run init -- --target_os=ios
다음을 사용하여 init 및 빌드에 대해 target_os 및 target_arch를 설정할 수도 있습니다.
npm config set target_os android npm config set target_arch arm
빌드에 필요한 추가 매개변수는 https://github.com/brave/brave-browser/wiki/Build-configuration에 문서화되어 있습니다.
내부 개발자는 https://github.com/brave/devops/wiki/%60.env%60-config-for-Brave-Developers에서 자세한 정보를 찾을 수 있습니다.
기본 빌드 유형은 구성요소입니다.
# start the component build compile npm run build
릴리스 빌드를 수행하려면 다음을 수행하십시오.
# start the release compile npm run build Release
Brave-core 기반 Android 빌드는 npm run build -- --target_os=android --target_arch=arm
사용하거나 init
에 대해 위에 지정된 대로 npm 구성 변수를 설정해야 합니다.
Brave-Core 기반 iOS 빌드는 ios/brave-ios/App
에 있는 Xcode 프로젝트를 사용해야 합니다. 이 프로젝트를 직접 열거나 npm run ios_bootstrap -- --open_xcodeproj
실행하여 Xcode에서 열 수 있습니다. iOS 빌드에 대한 자세한 내용은 iOS 개발자 환경을 참조하세요.
npm run build Release
매우 느리고 많은 RAM을 사용할 수 있습니다. 특히 Gold LLVM 플러그인이 있는 Linux에서는 더욱 그렇습니다.
정적으로 링크된 빌드를 실행하려면(빌드하는 데 시간이 더 걸리지만 더 빠르게 시작됩니다):
npm 실행 빌드 - 정적
디버그 빌드를 실행하려면(is_debug=true로 구성요소 빌드):
npm 실행 빌드 - 디버그
참고: 빌드를 완료하는 데 시간이 걸립니다. 프로세서와 메모리에 따라 몇 시간이 걸릴 수도 있습니다.
빌드를 시작하려면:
npm start [Release|Component|Static|Debug]
npm run sync -- [--force] [--init] [--create] [brave_core_ref]
이는 Brave-Core에 로컬 변경 사항을 숨기려고 시도하지만 이를 실행하기 전에 로컬 변경 사항을 커밋하는 것이 더 안전합니다.
npm run sync
다음을 수행합니다(아래 플래그에 따라 다름).
? git ref(예: 태그 또는 브랜치)의 최신 커밋으로 하위 프로젝트(chromium, Brave-core)를 업데이트합니다.
? 패치 적용
? gclient DEPS 종속성 업데이트
⏩ 후크 실행(예: 하위 프로젝트에 npm install
수행)
깃발 | 설명 |
---|---|
[no flags] | 필요한 경우 크롬을 업데이트하고 패치를 다시 적용합니다. 크롬 버전이 변경되지 않았다면 변경된 패치만 다시 적용됩니다. 이 스크립트 실행 중에 업데이트가 필요한 프로젝트가 있는 경우에만 하위 종속성을 업데이트합니다. **브랜치를 수동으로 가져오거나 전환하는 대신 스크립트를 통해 최신 상태를 유지하도록 하려면 이 옵션을 사용하세요. ** |
--force | Chromium 및 Brave-Core를 현재 Brave-Core 분기에 대한 최신 원격 커밋과 Brave-browser/package.json에 지정된 Chromium 참조(예: master 또는 74.0.0.103 )로 업데이트합니다. 모든 패치를 다시 적용합니다. 모든 하위 종속성을 강제로 업데이트합니다.**문제가 발생하여 분기를 알려진 상태로 강제로 되돌리려는 경우 이 방법을 사용하세요. ** |
--init | Brave-browser/package.json에 지정된 버전으로 Chromium 과 Brave-Core를 강제 업데이트하고 모든 종속 저장소를 강제 업데이트합니다. npm run init 와 동일합니다. |
--sync_chromium (true/false) | 해당되는 경우 크롬 버전 업데이트를 강제로 실행하거나 건너뜁니다. 크롬 업데이트로 인해 발생할 수 있는 빌드 시간이 길어질 준비가 되지 않은 경우 마이너 업데이트를 피하려는 경우 유용합니다. 다른 크롬 버전이 예상되는 현재 코드 상태에 대한 경고가 출력됩니다. 결과적으로 빌드가 실패할 수 있습니다. |
-D, --delete_unused_deps | 마지막 동기화 이후 제거된 모든 종속성을 작업 복사본에서 삭제합니다. gclient sync -D 모방합니다. |
npm run sync brave_core_ref
실행하여 지정된 Brave-Core 참조를 확인하고 필요한 경우 크롬을 포함한 모든 종속 저장소를 업데이트하세요.
용감한 브라우저> cd src/brave 용감한 브라우저/src/brave> git checkout -b 분기_이름
Brave-browser/src/brave> git 가져오기 원본 용감한 브라우저/src/brave> git checkout [-b] 분기_이름 용감한 브라우저/src/brave> npm 실행 동기화 ...패치 2개 업데이트 중... ...하위 종속성 업데이트 중... ...실행 후크...
용감한 브라우저/src/brave> git pull 용감한 브라우저/src/brave> npm 실행 동기화 ...패치 2개 업데이트 중... ...하위 종속성 업데이트 중... ...실행 후크...
init
통해 항상 빌드 시간이 길어지고 Brave-Core 작업 디렉터리에서 보류 중인 변경 사항이 제거됩니다).용감한 브라우저> git checkout master 용감한 브라우저> git pull 용감한 브라우저> npm run sync -- --init
Brave-browser/src/brave> git 체크아웃 기능B 용감한 브라우저/src/brave> git pull 용감한 브라우저/src/brave> cd ../.. 용감한 브라우저> npm 실행 apply_patches ...패치 2개 적용 중...
Google 세이프 브라우징 : https://console.developers.google.com/에서 SafeBrowsing API가 활성화된 API 키를 받으세요. Google 세이프 브라우징을 활성화하려면 https://www.chromium.org/developers/how-tos/api-keys에 따라 GOOGLE_API_KEY
환경 변수를 키로 업데이트하세요.
Chromium의 보안 규칙
IPC 검토 지침(특히 이 참조)
Brave 내부 보안 지침(직원 전용)
녹 사용법
일반적인 문제에 대한 해결 방법은 문제 해결을 참조하세요.