이 리포지토리에는 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 내부 보안 지침(직원 전용)
녹 사용법
일반적인 문제에 대한 해결 방법은 문제 해결을 참조하세요.