如果你比较懒不想遇见各种问题可以看这个https://blog.csdn.net/qq_33259323/article/details/107351364
如果你想自己编译看这个https://blog.csdn.net/qq_33259323/article/details/107351369
1.操作系统
目前我使用的是Ubuntu 20.04 虚拟机 而且官方推荐Ubuntu 16.04
2.安装包
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 python3-paramiko python-paramiko python-jenkins
python-requests python-xlwt 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
3.下载文件
1.下载https://github.com/HarmonOS/OpenArkCompiler
2.从LLVM Download Page 下载 LLVM8.0.0的Ubuntu 16.04 (.sig) 二进制包。解压之后,放到OpenArkCompiler/tools目录之下。
注意:这里要修改名字clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04 为clang_llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04
加号+改为下划线_
http://releases.llvm.org/8.0.0/clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04.tar.xz
3.从https://github.com/ninja-build/ninja/releases 下载Ninja v1.9.0,在tools下新建目录ninja_1.9.0,将ninja可执行文件放到ninja_1.9.0目录之下。
最好都使用chmod 777 ninja 处理一下。
从https://archive.softwareheritage.org/browse/content/sha1_git:2dc0d5b26caef44f467de8120b26f8aad8b878be/raw/?filename=gn 下载GN,在tools下新建目录gn,将gn可执行文件放到gn目录之下。
最好都使用chmod 777 gn 处理一下。
4.在OpenArkCompiler目录之下依次执行如下两个命令:
source build/envsetup.sh
make
5.下载java-core.jar放到libjava-core文件夹下面
mkdir libjava-core
cd libjava-core
git clone https://gitee.com/mirrors/java-core.git
mv java-core/java-core.jar ./
6.修改文件(注意:修改这些文件时候 遇到换行的地方请使用tab)
修改 build/core/java2jar.mk 为如下代码。
$(APP_JAR): %.jar : %.java
$(JAVA2JAR) $(APP_JAR) "$(wildcard *.java)"
修改 build/core/jbc2mpl.mk 为如下代码。
$(APP_MPL): %.mpl : %.jar $(JBC2MPL_BIN)
$(JBC2MPL_BIN) -injar ${MAPLE_ROOT}/libjava-core/java-core.jar -injar $(APP_JAR) -out $(APP)
修改out/bin/java2jar 为如下代码
#!/bin/bash
OUTPUT=$1
CORE_ALL_JAR=$2
JAVA_FILE=$2
shift 2
javac -g -d . ${JAVA_FILE}
#javac -g -d . -bootclasspath ${CORE_ALL_JAR} $@
jar -cvf ${OUTPUT} *.class
7.编译
进入samples/helloworld文件夹输入make就可以了