一共遇到两个错误,历经四五天的伤心历程,终于解决(是不是因为中午吃了麻辣烫突然开窍了)。
写下决绝办法,希望能对兄弟姐妹们有所帮助。
开发环境
C:\..\..>ionic info
Your system information:
Cordova CLI: 6.5.0
Ionic Framework Version: 1.3.3
Ionic CLI Version: 1.7.16
Ionic App Lib Version: 0.7.3
OS:
Node Version: v6.9.4
C:\..\..>java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
C:\..\..>node -v
v6.9.4
C:\..\..>npm -v
3.10.10
C:\..\..>ant -version
Apache Ant(TM) version 1.10.3 compiled on March 24 2018
C:\..\..>cordova requirements android
Requirements check results for android:
Java JDK: installed 1.8.0
Android SDK: installed true
Android target: installed android-29,android-28,android-27,android-26,android-25,android-24,android-23,android-22,android-21,android-20,android-19
Gradle: installed C:\ionic_path\gradle-4.8\bin\gradle
1、gradle下载失败
解决办法,改为本地gradle下载。
修改方法:
修改两个文件:platforms\android\gradle\wrapper\gradle-wrapper.properties和platforms\android\cordova\lib\builders\GradleBuilder.js.
http\\://localhost:8085/gradle-4.1-all.zip为本地gradle的路径。
platforms\android\gradle\wrapper\gradle-wrapper.properties,改为如下图所示。
platforms\android\cordova\lib\builders\GradleBuilder.js.,改为如下所示。
var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'http\\://localhost:8085/gradle-4.1-all.zip';
2、jar包下载失败
如果你出现如下的问题:
* What went wrong:
A problem occurred configuring root project 'android'.
> Could not resolve all files for configuration ':classpath'.
> Could not download gradle.jar (com.android.tools.build:gradle:3.0.0)
> Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.0.0/gradle-3.0.0.jar'.
> Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.0.0/gradle-3.0.0.jar'.
> sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
或者如下问题:
A problem occurred configuring root project 'android'.
> Could not resolve all files for configuration ':classpath'.
> Could not download kotlin-stdlib.jar (org.jetbrains.kotlin:kotlin-stdlib:1.1.3-2)
> Could not get resource 'https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.1.3-2/kotlin-stdlib-1.1.3-2.jar'.
> Could not GET 'https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.1.3-2/kotlin-stdlib-1.1.3-2.jar'.
> sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
等等,诸如PKIX path building failed这种错误,那我的解决办法也许能帮到你。
(1)如果你是用的JDK1.8,建议你安装jdk-8u171,jre-8u171。
附JDK各个版本下载地址: https://www.oracle.com/java/technologies/oracle-java-archive-downloads.html
不知道这个有没有用,我对比我那台能打包成功的旧电脑,jdk安装的就是这个版本。jre我也装了,不知道有没有用,搞了好几天了,死马当活马医了。
(2)修改platforms\android\build.gradle和platforms\android\CordovaLib\build.gradle这两个文件。
将repositories改为如下内容,注意顺序要一致。
repositories {
google()
maven {
url 'https://maven.aliyun.com/repository/public/'
}
mavenLocal()
mavenCentral()
jcenter()
}
好的,现在修改完了,开始打包。
ionic build android
打包成功,如果还是有jar没有下载成功,多试两三次,如果还是不成功,再找其他解决办法吧。