該儲存庫包含為 macOS、Windows 和 Linux 建立 Brave 桌面瀏覽器所需的建置工具。 特別是,它從package.json
和src/brave/DEPS
中定義的專案中取得並同步程式碼:
鉻
透過depot_tools
取得程式碼。
設定 Chromium 的分支(例如:65.0.3325.181)。
勇敢的核心
安裝在src/brave
。
維護第 3 方 Chromium 代碼的補丁。
adblock-rust
實現 Brave 的廣告攔截引擎。
透過brave/adblock-rust-ffi 連結。
您可以造訪我們的網站以取得最新的穩定版本。
請參閱貢獻指南。
我們的 Wiki 也有一些有用的技術資訊。
如果您想更多地參與 Brave,請加入問答社群。您可以尋求協助、討論您希望看到的功能等等。我們很樂意得到您的幫助,以便我們能夠繼續改進 Brave。
請在 https://explore.transifex.com/brave/brave_en/ 提交翻譯,幫助我們將 Brave 翻譯成您的語言。
在 Twitter 上關注@brave,以了解重要新聞和公告。
請按照適合您平台的說明進行操作:
macOS
iOS系統
視窗
Linux/安卓
一旦安裝了先決條件,您就可以取得程式碼並初始化建置環境。
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
您也可以使用以下指令設定 init 和 build 的 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,特別是在 Linux 上帶有 Gold LLVM 插件的功能。
要運行靜態連結建置(建置需要更長的時間,但啟動速度更快):
npm run build -- 靜態
執行調試建置(使用 is_debug=true 建置元件):
npm run build -- 偵錯
注意:建置需要一段時間才能完成。根據您的處理器和內存,這可能需要幾個小時。
開始建構:
npm start [Release|Component|Static|Debug]
npm run sync -- [--force] [--init] [--create] [brave_core_ref]
這將嘗試將本地更改儲存在brave-core中,但在運行此命令之前提交本地更改更安全
npm run sync
將(取決於下列標誌):
?將子項目(chromium、brave-core)更新為 git ref 的最新提交(例如標籤或分支)
?應用補丁
?更新 gclient DEPS 依賴項
⏩ 運行鉤子(例如在子專案上執行npm install
)
旗幟 | 描述 |
---|---|
[no flags] | 如果需要,更新 chromium 並重新套用補丁。如果 chromium 版本沒有更改,它只會重新套用已更改的補丁。只有在此腳本運行期間有任何項目需要更新時,才會更新子依賴項。 **如果您希望腳本能夠讓您保持最新狀態,而不是手動拉取或切換分支,請使用此選項。 ** |
--force | 將Chromium和Brave-core更新為目前 Brave-Core 分支的最新遠端提交以及在 Brave-browser/package.json 中指定的Chromium引用(例如master 或74.0.0.103 )。將重新套用所有補丁。將強制更新所有子依賴項。**如果您遇到問題並希望強制分支恢復到已知狀態,請使用此選項。 ** |
--init | 強制將Chromium和Brave-core更新為 Brave-browser/package.json 中指定的版本,並強制更新所有依賴的儲存庫 - 與npm run init 相同 |
--sync_chromium (true/false) | 如果適用,將強製或跳過 chromium 版本更新。如果您想避免在未準備好應對 chromium 更新可能導致的較長建置時間時進行次要更新,則很有用。您的建置可能會因此失敗。 |
-D, --delete_unused_deps | 將從工作副本中刪除自上次同步以來已刪除的所有相依性。模仿gclient sync -D 。 |
執行npm run sync brave_core_ref
以簽出指定的brave-core ref,並更新所有依賴的儲存庫,包括 chromium(如果需要)。
勇敢瀏覽器> cd src/brave Brave-browser/src/brave> git checkout -b 分支名稱
勇敢瀏覽器/src/brave> git fetch origin Brave-browser/src/brave> git checkout [-b] 分支名稱 Brave-browser/src/brave> npm run 同步 ....更新2個補丁... ...更新子依賴項... ....跑掛鉤...
勇敢瀏覽器/src/brave> git pull Brave-browser/src/brave> npm run 同步 ....更新2個補丁... ...更新子依賴項... ....跑掛鉤...
init
,總是會導致更長的構建,並將刪除brave-core工作目錄中任何掛起的更改):勇敢的瀏覽器> git checkout master 勇敢的瀏覽器> git pull 勇敢的瀏覽器> npm runsync -- --init
勇敢瀏覽器/src/brave> git checkout featureB 勇敢瀏覽器/src/brave> git pull 勇敢瀏覽器/src/brave> cd ../.. 勇敢的瀏覽器> npm run apply_patches ...套用 2 個補丁...
Google 安全瀏覽:從 https://console.developers.google.com/ 取得啟用 SafeBrowsing API 的 API 金鑰。依照 https://www.chromium.org/developers/how-tos/api-keys 使用您的金鑰更新GOOGLE_API_KEY
環境變數以啟用 Google SafeBrowsing。
Chromium 的安全規則
IPC 審查指引(特別是本參考文獻)
Brave 的內部安全準則(僅適用於員工)
鐵鏽的用途
請參閱故障排除以取得常見問題的解決方案。