对android发布过程感到困惑

对android发布过程感到困惑,android,keytool,jarsigner,Android,Keytool,Jarsigner,我正在尝试android应用程序的发布过程,但对keytool和jarsigner感到困惑 报告说: 如果您正在开发最初随GNU Compiler for Java附带的Linux版本,请确保系统使用的是JDK版本的Keytool,而不是gcj版本。如果Keytool已经在您的路径中,它可能指向/usr/bin/Keytool处的符号链接。在这种情况下,检查symlink目标以确保它指向JDK中的Keytool 我正在使用环境变量JAVA_HOME=/HOME/faizal/DEV/jre1.7

我正在尝试android应用程序的发布过程,但对keytool和jarsigner感到困惑

报告说:

如果您正在开发最初随GNU Compiler for Java附带的Linux版本,请确保系统使用的是JDK版本的Keytool,而不是gcj版本。如果Keytool已经在您的路径中,它可能指向/usr/bin/Keytool处的符号链接。在这种情况下,检查symlink目标以确保它指向JDK中的Keytool

我正在使用环境变量JAVA_HOME=/HOME/faizal/DEV/jre1.7.0_55开发Ubuntu 14.04。在它的bin子文件夹中有一个keytool。我如何知道这是JDK还是gcj版本?我真的不记得我从哪里下载了JRE

Keytool已经在我的路径中,因为我添加了$JAVA_HOME/bin。我使用ls-lR | grep Keytool命令在/usr/bin中找不到任何名为Keytool的符号链接。但我认为我的系统上没有JDK。我需要买吗

我在$JAVA_HOME中找不到jarsigner。我在哪里可以买到


如果您正在构建APK,那么您必须拥有JDK。将告诉您JDK的安装位置

ls -l `which javac`
关于jarsigner,我在/usr/bin中看到了它的符号链接。如果没有,您将在JDK的bin目录中找到它。如果您已经成功构建了apk,$JAVA_HOME就是JDK所在的位置。

最简单的方法是使用eclipse来使用向导。请参见此处:jarsigner不在我的系统中。我想原因是我没有JDK。我已经在EclipseLuna中成功地构建了我的apk,但是$JAVA_HOME只是一个JRE。我完全搞糊涂了。检查您的Eclipse设置,看看它从哪里挑选编译器javac。如果正在构建apk,那么应该有一个java编译器。这一页充分说明,只有JRE是不够的,需要JDK。顺便说一句,您不是在使用ADT Eclipse包吗?如果是,它没有GUI选项来签署生成的APK吗?如果Eclipse正在管理您的JDK,那么我认为它将知道在哪里可以找到jarsigner。注意,我不是Eclipse用户。我是通过命令行完成的,我只是不知道Eclipse从哪里获得javac。所以我最终下载了JDK,它在bin文件夹中有jarsigner。是的,ADT有用于导出的GUI选项,这非常有效。但是我希望尝试一下命令行…所以问题就来了。谢谢