编译Gradle

  1. 进入“/home”目录。

    1
    cd /home
    

  2. 下载Gradle v4.8.1源码。

    1
    wget https://github.com/gradle/gradle/archive/v4.8.1.zip --no-check-certificate
    

  3. 解压Gradle源码。

    1
    unzip v4.8.1.zip
    

  4. 重命名为Gradle,进入“gradle”目录。

    1
    2
    mv gradle-4.8.1 gradle
    cd gradle
    

  5. 修改文件“NativePlatforms.java”

    1. 打开文件。
      1
      vim subprojects/platform-native/src/main/java/org/gradle/nativeplatform/platform/internal/NativePlatforms.java
      
    2. “i”进入编辑模式,修改如下内容。
      • 第44行的下一行增加如下代码。
                ArchitectureInternal aarch64 = Architectures.forInput("aarch64");

      • 第73行的下一行增加如下代码。
                platforms.add(createPlatform(linux, aarch64));

    3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  6. 配置Gradle。

    1. 打开gradle-wrapper.properties文件。
      1
      vim gradle/wrapper/gradle-wrapper.properties
      
    2. “i”进入编辑模式,将第3行注释掉,在第4行新增如下内容。
      distributionUrl=gradle-4.8-rc-3-bin.zip

    3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
    4. 下载Gradle源码。
      1
      wget https://services.gradle.org/distributions/gradle-4.8-rc-3-bin.zip --no-check-certificate
      
    5. 将gradle-4.8-rc-3-bin.zip源码包移至“gradle/wrapper/”目录下。
      1
      mv gradle-4.8-rc-3-bin.zip gradle/wrapper/
      

  7. 修改文件“build.gradle.kts”

    1. 打开文件。
      vim buildSrc/build.gradle.kts
    2. “i”进入编辑模式,在第75行和76行分别添加。
      maven(url = "https://repo.huaweicloud.com/repository/maven/")
      maven(url = "https://mirrors.huaweicloud.com/repository/maven/")

    3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  8. 配置Java网络代理。如果Java版本不同,路径根据实际情况修改。

    1. 打开“/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.272.b10-7.oe1.aarch64/jre/lib/net.properties”文件。
      vim /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.272.b10-7.oe1.aarch64/jre/lib/net.properties
    2. “i”进入编辑模式,添加如下内容(根据实际情况修改)
      http.proxyHost=proxysg.huawei.com
      http.proxyPort=8080
      http.nonProxyHosts=localhost|127.*|[::1]
      https.proxyHost=proxysg.huawei.com
      https.proxyPort=8080

    3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  9. 构建Gradle。

    1
    2
    cd /home/gradle
    ./gradlew
    

    若使用代理,执行如下命令。请根据实际的代理环境配置代理的主机名、端口号、用户名和密码。

    ./gradlew -Dhttp.proxyHost=proxysg.huawei.com -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxysg.huawei.com -Dhttps.proxyPort=8080  -Dhttps.proxyUser= -Dhttps.proxyPassword=  -Dhttp.proxyUser= -Dhttp.proxyPassword=

    若出现界面显示BUILD SUCCESSFUL,则构建成功。

    • 若执行编译报错“ Received status code 407 from server: authenticationrequired”、“unable to find valid certification path to requested target”或者“validity check failed”,参考如何配置证书
    • 若执行编译报错“Received status code 502 from server: Parent proxy unreacheable”,说明该网络代理无法获取资源,建议更换网络环境。
    • 若执行编译报错“javax.net.ssl.SSLHandshakeException”如图1,参考Gradle下载失败的解决方法
      图1 javax.net.ssl.SSLHandshakeException

  10. 查看生成的JAR包。

    1
    ls subprojects/platform-native/build/libs/