我尝试使用文件JarSigner.exe(在Windows中)签署一个Android应用程序。
我所做的是创建一个指定的目录,我将JarSigner.exe和所有其他文件放在JRE \ bin中。
当然我也把密钥库文件放在那里。
我打开了一个cmd窗口(作为管理员)并将dir更改为我创建的指定目录。
我给了命令:
jarsigner -keystore myKeystore myApp.apk myself
结果如下:
Exception in thread "Main Thread" java.lang.NoClassDefFoundError: sun/security/t
ools/JarSigner
Caused by: java.lang.ClassNotFoundException: sun.security.tools.JarSigner
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: sun.security.tools.JarSigner. Program will exit.
有人知道为什么会这样,或者我该如何解决?
答案 0 :(得分:0)
我所做的是创建一个指定的目录,我将JarSigner.exe与JRE中的所有其他文件一起放置
那是你的错。你应该做的是调整PATH以包含JDK bin目录,或者在运行它时提供jarsigner,exe的完整路径。
答案 1 :(得分:0)
您必须将tools.jar添加到您的类路径中,您可以查看此链接以获取更多信息