方舟編譯器是一款由華為官方打造的全新安卓應用編譯器,它采用靜態編譯的模式,能夠實現全程執行機器碼,從而提高程序的運行效率,給用戶帶來更加流暢的手機操作體驗。方舟編譯器支持多種編程語言,能夠實現多個芯片平臺的聯合編譯,從而提高用戶的開發效率,并且也能降低優化成本,有需要的用戶快來下載吧。
多語言聯合:將同一應用中的不同語言代碼聯合編譯、聯合優化,消除語言間的性能“鴻溝”,降低開發者的優化成本
輕量運行時:通過編譯器的語言實現能力和優化能力增強,應用運行時的開銷更小
軟硬件協同:編譯器與芯片實現軟硬件協同優化,充分發揮硬件能效,應用體驗更佳
多平臺支持:支持面向多樣化的終端設備平臺進行編譯和運行,根據設備特征提供便捷的開發與部署策略,提高開發效率
硬件推薦配置
2 GHz 雙核處理器或者更高等級CPU
2 GB 系統內存及以上
200GB 可用磁盤空間
開發環境推薦
您需要安裝一個64位版本的Ubuntu(推薦Ubuntu 16.04)
sudo apt-get -y install openjdk-8-jdk git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip lib32z1-dev qemu g++-multilib gcc-multilib libglib2.0-dev libpixman-1-dev linux-libc-dev:i386
sudo apt-get -y install gcc-5-aarch64-linux-gnu g++-5-aarch64-linux-gnu
安裝Clang編譯器并完成配置(用于編譯方舟編譯器代碼)
下載clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04
放置到openarkcompiler/tools目錄,打開openarkcompiler/build/config/BUILDCONFIG.gn文件,將GN_C_COMPILER、GN_CXX_COMPILER和GN_AR_COMPILER三個變量配置為Clang編譯器所在路徑,例如:
GN_C_COMPILER = "${MAPLE_Root}/tools/clang_llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04/bin/clang"
GN_CXX_COMPILER = "${MAPLE_ROOT}/tools/clang_llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04/bin/clang++"
GN_AR_COMPILER = "${MAPLE_ROOT}/tools/clang_llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04/bin/llvm-ar"
其中${MAPLE_ROOT}為openarkcompiler源碼根目錄。
安裝Ninja、GN并完成配置
下載Ninja(v1.9.0)及GN(Linux Version)
將GN和Ninja可執行程序放置到openarkcompiler/tools目錄,打開openarkcompiler/Makefile文件,將GN和NINJA兩個變量配置為GN和Ninja可執行程序所在路徑。例如:
GN := ${MAPLE_ROOT}/tools/gn/gn
NINJA := ${MAPLE_ROOT}/tools/ninja_1.9.0/ninja
方舟編譯器是一次性全部代碼嗎?
首次開源范圍是編譯器 IR( Intermediate Representation)、RC(Reference Counting)和多語言設計思想等,用于與業界、學術界溝通交流。后續將陸續開源編譯器前端、后端,支持其它語言(如 JavaScript)的編譯等,當前部分Java語言特性和JVM虛擬機特性的支持未包括在本次開源代碼中,包括:annotation、lambda表達式、泛型等。
方舟編譯器開源路標是怎樣的?
方舟編譯器從 2019 年 8 月開始開源,歡迎廣大的應用開發者、手機廠商、軟件從業人員一起共建開源社區和生態。 開源計劃大體上這樣安排:2019 年 8 月重點開源框架部分;后續將陸續開源編譯器前端、后端;支持 Java 程序編譯、JavaScript 語言應用的編譯等。
方舟編譯器源碼托管計劃是怎么的?
孵化委員會期間,方舟編譯器代碼是托管在華為云上面。在未來走向開放治理以后,將由所掛靠機構選擇的平臺進行托管。如果掛靠的機構采取了 X 平臺,我們就采用這個機構的代碼托管模式進行托管。
方舟編譯器開源使用的是什么License?
方舟編譯器采用木蘭 License。
如何確認下載包來源可靠?MD5校驗碼是多少?
OpenArkCompiler-0.2-ubuntu-16.04-x86_64.tar.gz 包的 MD5碼是: e7dc8b8c242f2d26429e2ad71dae3112
OpenArkCompiler-0.2.tar.gz 包的MD5碼是:1bf859a67c8b9a2d4080bdaf25ef6181