【Android 構建新工具】Bazel 構建Android項目

【Android 構建新工具】Bazel 構建Android項目

本文我們使用Bazel構建一個最簡單的Android項目。Bazel提供了編譯Android程序內置的方法,具體參考:Android Rules

1. 環境準備

Bazel只是編譯工具,不是真正的編譯器,所以還是需要Andorid開發的SD、NDK以及Android Studio,并配置開發環境。

接下來就是安裝Bazel。由于平時在macos開發為主,所以主要介紹macos系統的安裝。macos下bazel有四種安裝方式:

  1. 使用二進制安裝器(官方推薦);
  2. 使用hombrew;
  3. 使用bazelisk;
  4. 從源碼編譯安裝bazel。

下面介紹前兩種常用方法。

1.1 二進制安裝器安裝

從GitHub releases page 下載對應版本安裝器。

第一步安裝Xcode 命令行工具

如果不打算使用ios_*相關的規則編譯,則只需要使用xcode-select安裝Xcode命令行工具:

xcode-select --install

如果需要構建ios相關程序,則必須安裝Xcode6.1或者最新版本,并且iOS SDK 版本8.1以上。我們可以在App Store中下載到Xcode。

Xcode安裝成功后需要我們通過一下命令接收用戶使用說明協議:

sudo xcodebuild -license accept
第二步:下載Bazel安裝器

我們先在Github basel release頁面下載bazel安裝器baze-<version>-installer-darwin-x86_64.sh,mac中沃恩可以使用curl工具下載:

# Example installing version `3.2.0`. Replace the version below as appropriate.
export BAZEL_VERSION=3.2.0
curl -fLO "https://github.com/bazelbuild/bazel/releases/download/${BAZEL_VERSION}/bazel-${BAZEL_VERSION}-installer-darwin-x86_64.sh"
第三步:執行安裝器腳本

使用下面命令安裝bazel:

chmod +x "bazel-${BAZEL_VERSION}-installer-darwin-x86_64.sh"
./bazel-${BAZEL_VERSION}-installer-darwin-x86_64.sh --user

--user參數將B

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/37091.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/37091.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/37091.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于改進天鷹優化算法(IAO)優化支持向量機(SVM)數據分類預測(IAO-SVM)

改進天鷹優化算法(IAO)見&#xff1a;【智能優化算法】改進的AO算法(IAO)-CSDN博客 支持向量機(SVM)數據分類預測&#xff1a;基于支持向量機(SVM)的數據分類預測-CSDN博客 代碼原理 基于改進天鷹優化算法&#xff08;IAO&#xff09;優化支持向量機&#xff08;SVM&#xf…

uniapp獲取證書秘鑰、Android App備案獲取公鑰、簽名MD5值

一、 uniapp獲取證書秘鑰 打開uniapp開發者中心下載證書打開cmd輸入以下這段代碼&#xff0c;下載提供查看到的密鑰證書密碼就可以了&#xff01;下載證書在 java 環境下運行才可以 // your_alias 換成 證書詳情中的別名&#xff0c;your_keystore.keystore 改成自己的證書文件…

Splashtop 的屏幕錄制功能如何提高 IT 合規性

在當今的數字時代&#xff0c;隨著遠程辦公的普及以及監管要求和網絡安全威脅的加劇&#xff0c;IT 副總裁、首席信息官&#xff08;CIO&#xff09;等 IT 管理人員面臨著一系列獨特挑戰。 各組織在遠程支持運營中要全力維護合規性、提高安全性并堅持問責制&#xff0c;技術解…

漢江師范學院2024年成人高等繼續教育招生簡章

漢江師范學院&#xff0c;這所承載著深厚文化底蘊和學術積淀的高等學府&#xff0c;即將在2024年迎來新一季的成人高等繼續教育招生。這不僅是一次知識的盛宴&#xff0c;更是對每一位懷揣夢想、追求進步的成年人的誠摯邀請。 漢江師范學院&#xff0c;以其嚴謹的教學態度、卓…

關于數據庫的ACID幾點

首先的話就是關于ACID&#xff0c;最重要的就是原子性了&#xff0c;這是基礎。 原子性是指事務包含的所有操作&#xff0c;要么全部完成&#xff0c;要么全部不完成。如果不能保證原子性&#xff0c;可能會出現以下問題&#xff1a; 數據不一致&#xff1a;事務中的部分操作…

AI基礎:從線性回歸到梯度下降

一個簡單的問題&#xff1a; 如果此時你正站在迷路繚繞的山坡上&#xff0c;能見度不高&#xff0c;但是你又想去往最低的山谷的位置&#xff0c;怎么走&#xff1f; 很簡單&#xff0c;哪里陡那就往那里走唄——而這就是梯度下降算法的思想。 古話說&#xff1a;“先發制于人…

java基于ssm+jsp 電子商城系統

1管理員功能模塊 管理員登錄&#xff0c;通過填寫用戶名、密碼進行登錄&#xff0c;如圖1所示。 圖1管理員登錄界面圖 管理員登錄進入電子商城系統可以查看個人中心、用戶管理、醫生管理、藥品信息管理、線上診療管理、醫生信息管理、管理員管理、論壇管理、系統管理、訂單管…

行業推薦!IG5216量產工具下載,IG5216開卡軟件分享

國內固態硬盤常用&#xff0c;且有量產工具流傳出來的主控廠商包括慧榮、群聯、點序、英韌、得一微、瑞昱、聯蕓、邁威、國科、華瀾微等等。 每個主控需要用各自對應的量產工具&#xff0c;不同的量產工具支持的閃存顆粒也有差異&#xff0c;因此要根據固態硬盤實際的主控型號…

氣膜建筑審批流程及現狀分析—輕空間

氣膜建筑作為一種新興的建筑形式&#xff0c;以其快速建造、成本低廉和靈活多變的優勢在各個領域得到了廣泛應用。然而&#xff0c;氣膜建筑在我國尚未被納入正式的建筑規范&#xff0c;這使得其審批流程與傳統建筑有顯著差異。輕空間將詳細探討氣膜建筑的審批流程及其在實際操…

深入探究 npm cache 命令:用途與實踐指南

npm&#xff08;Node Package Manager&#xff09;是 JavaScript 編程語言的包管理器&#xff0c;廣泛用于 Node.js 應用程序。它不僅用于管理項目中的依賴&#xff0c;還提供了一個強大的緩存機制來加速包的安裝過程。npm cache 命令是與 npm 緩存交互的命令行工具&#xff0c…

MongoDB:JSON and BSON

目錄 什么是 JSON MongoDB-JSON連接 什么是 BSON MongoDB 使用 BSON 還是 JSON JSON 與 BSON 架構靈活性和數據治理 JSON 和 BSON 是近親&#xff0c;正如它們幾乎相同的名稱所暗示的那樣JSON&#xff08;即 JavaScript 對象表示法&#xff09;是網絡上廣泛流行的數據交換…

grep使用

在 Windows 中&#xff0c;你可以使用以下步驟來使用 grep 命令&#xff1a; 安裝 Git for Windows&#xff1a;grep 命令通常在類 Unix 操作系統&#xff08;如 Linux、Mac OS X 等&#xff09;中使用&#xff0c;但你可以通過安裝 Git for Windows 來在 Windows 上獲得類似的…

Transformer 結構

目錄 一、Transformer 的整體結構二、Input Encoding三、Transformer Block3.1 Encoder3.1.1 Attention3.1.2 Self-attention3.1.3 Multi-head Attention 3.2 Decoder3.2.1 Masked Multi-head Attention 四、Transformer 的優缺點 遇到看不明白的地方&#xff0c;歡迎在評論中留…

Incremental Player Build

*未解決&#xff0c;僅作記錄 Unity 版本 2021.3.15f1 問題 Unity 發布webgl 平臺卡在Incremental Player Build 界面。 解決 未找到明確原因&#xff0c;簡化工程路徑后發布成功。

Leetcode 矩陣問題

36題.有效的數獨 此類問題特點是給出行列的多種限定條件&#xff0c;數獨限制每行每列每個小九宮格元素范圍為1-9且不可重復 。解決此類問題最簡單的想法就是使用哈希set&#xff0c;記錄每行&#xff0c;每列&#xff0c;每個小九宮格已經出現的元素。在遍歷矩陣時提前做出是否…

S32K3 --- Wdg(內狗) Mcal配置

前言 看門狗的作用是用來檢測程序是否跑飛,進入死循環。我們需要不停地喂狗,來確保程序是正常運行的,一旦停止喂狗,意味著程序跑飛,超時后就會reset復位程序。 一、Wdg 1.1 WdgGeneral Wdg Disable Allowed : 啟用此參數后,允許在運行的時候禁用看門狗 Wdg Enable User…

技術干貨丨如何加速工業數字孿生應用落地?

什么是數字孿生&#xff1f; “孿生”概念最早可追溯至NASA的阿波羅項目&#xff0c;隨著數字化技術的進步&#xff0c;“孿生”概念應用從物理孿生向數字孿生發展。即“數字孿生”是對資產、進程或系統的一種數字化表示&#xff0c;并通過信息交互、數據同步等方式實現物理實體…

Java校園跑腿小程序校園代買幫忙外賣源碼社區外賣源碼

&#x1f525;校園跑腿與外賣源碼揭秘&#x1f525; &#x1f680; 引言&#xff1a;為何需要校園跑腿與外賣源碼&#xff1f; 在快節奏的校園生活里&#xff0c;學生們對于便捷、高效的服務需求日益增長。校園跑腿和外賣服務成為了解決這一需求的熱門選擇。然而&#xff0c;…

C++ STL Iterator Adapter

1. std::back_insert_iterator 使用 // back_insert_iterator example #include <iostream> // std::cout #include <iterator> // std::back_insert_iterator #include <vector> // std::vector #include <algorithm> // std::copy…

獲取HTML元素的scrollHeight屬性

獲取HTML元素的scrollHeight屬性 大家好&#xff0c;我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01;今天我們將深入探討如何使用JavaScript獲取HTML元素的scrollHeight屬性。scrol…