1 2 |
cd /home wget https://github.com/google/conscrypt/archive/2.1.0.zip --no-check-certificate |
1
|
unzip 2.1.0.zip |
1
|
mv conscrypt-2.1.0 conscrypt |
该步骤会自动下载gradle-4.8.1-all,Gradle的默认的下载路径是“/root/.gradle/wrapper/dists”。
1 2 |
cd /home/conscrypt ./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=
如果执行./gradlew时,报错如下:
通过如下方法解决:
cd /root/.gradle/wrapper/dists/gradle-4.8.1-all/6fmj4nezasjg1b7kkmy10xgo2
注意:6fmj4nezasjg1b7kkmy10xgo2目录有可能不同,根据实际情况修改。
1
|
wget https://services.gradle.org/distributions/gradle-4.8.1-all.zip --no-check-certificate |
1
|
unzip gradle-4.8.1-all.zip
|
1
|
cd /home/conscrypt |
./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=
1
|
cp /home/gradle/subprojects/platform-native/build/libs/gradle-platform-native-4.8.1.jar /root/.gradle/wrapper/dists/gradle-4.8.1-all/6fmj4nezasjg1b7kkmy10xgo2/gradle-4.8.1/lib/plugins |
1
|
reboot |
1 2 |
cd /home/conscrypt rm -rf openjdk-integ-tests |
1
|
cd openjdk |
1
|
vim build.gradle
|
arm64 = 'aarch64'
nativeClassifier64Bit = classifierFor(osName, arm64)
linux_aarch64 { architecture "aarch64" operatingSystem "linux" }
CentOS修改如下:
"-I$jniSourceDir/main/include", "-I$jniSourceDir/unbundled/include", "-I/usr/include/c++/4.8.2", "-I/usr/include/c++/4.8.2/aarch64-redhat-linux",
openEuler修改如下:
"-I$jniSourceDir/main/include", "-I$jniSourceDir/unbundled/include", "-I/usr/include/c++/7.3.0", "-I/usr/include/c++/7.3.0/aarch64-linux-gnu",
def archName = binary.targetPlatform.architecture.name def archNameR = archName if(archName == 'aarch64'){ archNameR = 'aarch_64' } archName = archName.replaceAll('-','_') def classifier = classifierFor(osName, archName) def classifierR = classifierFor(osName,archNameR) def sourceSetName = sourceSetName("$classifier") def source = binary.sharedLibraryFile
1
|
vim build.gradle
|
gcc(Gcc){ target("linux_aarch64") { cppCompiler.executable = "/usr/bin/gcc" } }
dependencies { errorprone("com.google.errorprone:error_prone_core:2.3.3") }
1
|
touch gradle.properties
|
org.gradle.jvmargs=-Xmx2500m -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 org.gradle.parallel=true systemProp.http.auth.ntlm.domain=CHINA systemProp.http.proxyHost=proxysg.huawei.com systemProp.http.proxyUser=实际代理用户名 systemProp.http.proxyPassword=实际代理用户密码 systemProp.http.proxyPort=8080 systemProp.http.nonProxyHosts=*.huawei.com|localhost|127.0.0.1 systemProp.https.proxyHost=proxysg.huawei.com systemProp.https.proxyUser=实际代理用户名 systemProp.https.proxyPassword=实际代理用户密码 systemProp.https.proxyPort=8080 systemProp.https.nonProxyHosts=*.huawei.com|localhost|127.0.0.1 systemProp.javax.net.ssl.trustStore=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.272.b10-7.oe1.aarch64/jre/lib/security/cacerts systemProp.javax.net.ssl.trustStorePassword=changeit
1 2 |
cd /home/conscrypt ./gradlew clean build --stacktrace -x :conscrypt-openjdk:linux_aarch64Test -Dorg.conscrypt.openjdk.buildUberJar=true |
1
|
cd openjdk-uber/build/libs |
1
|
jar xvf conscrypt-openjdk-uber-2.1.0.jar |
1
|
cp /home/conscrypt/openjdk/build/linux_aarch_64/native-resources/META-INF/native/libconscrypt_openjdk_jni-linux-aarch_64.so META-INF/native |
1
|
jar cvf conscrypt-openjdk-uber-2.1.0.jar META-INF/ org |