我在签署 Ionic android apk 时收到此错误,我使用的是 Kubuntu 17.04,使用 Ionic 3,安装了 java 8
我得到的错误:
Enter Passphrase for keystore:
updating: META-INF/MANIFEST.MF
adding: META-INF/TEST2.SF
adding: META-INF/TEST2.RSA
signing: AndroidManifest.xml
jarsigner error: java.time.DateTimeException: Invalid value for MonthOfYear (valid values 1 - 12): 0
java版本
$ java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-2ubuntu1.17.04.3-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)
javac
$ javac -version
javac 1.8.0_131
我安装了 Android Studio,它工作正常,我测试了应用程序源代码,它在模拟器上运行没有问题。
这个问题可以解决Debian 9通过为 jarsigner 设置与 java 和 javac 版本匹配的正确更新替代方案。
java 版本
$ java -version
openjdk version "1.8.0_141"
OpenJDK Runtime Environment (build 1.8.0_141-8u141-b15-1~deb9u1-b15)
OpenJDK 64-Bit Server VM (build 25.141-b15, mixed mode)
javac 的版本
$ javac -version
javac 1.8.0_141
jarsigner 的版本
$ sudo update-alternatives --get-selections | grep jarsigner
jarsigner manual /usr/lib/jvm/java-8-openjdk-amd64/bin/jarsigner
设置 jarsigner 的版本
$ sudo update-alternatives --config jarsigner
There are 4 choices for the alternative jarsigner (providing /usr/bin/jarsigner).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-9-openjdk-amd64/bin/jarsigner 1091 auto mode
1 /usr/bin/gjarsigner-4.9 1049 manual mode
2 /usr/bin/gjarsigner-6 1060 manual mode
* 3 /usr/lib/jvm/java-8-openjdk-amd64/bin/jarsigner 1081 manual mode
4 /usr/lib/jvm/java-9-openjdk-amd64/bin/jarsigner 1091 manual mode
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)