Re-sign.jar给我错误签名apk Ubuntu

时间:2014-08-17 16:25:32

标签: android apk signing

我一直试图通过辞职来测试apk文件,并了解了重新签名.jar拖放工具以签署apks。我试图在Ubuntu上使用终端运行它,但它总是说没有设置JAVA-HOME。我的日食正在发挥作用,AVD正在发挥作用,adb正在发挥作用,那么这个问题是什么?请帮忙。

看一下错误:

screenshot of error

终端中的

java -version给了我: java版“1.8.0_11” Java(TM)SE运行时环境(版本1.8.0_11-b12) Java HotSpot(TM)服务器VM(版本25.11-b03,混合模式)

2 个答案:

答案 0 :(得分:1)

设置“JAVA_HOME”环境变量

sudo update-alternatives --config java

它可能会返回如下内容:

There are 2 choices for the alternative java (providing /usr/bin/java).

Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-7-oracle/jre/bin/java          1062      auto mode
  1            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      manual mode
  2            /usr/lib/jvm/java-7-oracle/jre/bin/java          1062      manual mode

按Enter键保留当前选项[*]或类型选择号:

安装路径适用于每个:

/usr/lib/jvm/java-7-oracle

/usr/lib/jvm/java-6-openjdk-amd64

/usr/lib/jvm/java-7-oracle

从首选安装中复制路径,然后编辑文件/ etc / environment:

sudo nano / etc / environment 在此文件中,添加以下行(用刚刚复制的路径替换YOUR_PATH):

JAVA_HOME="YOUR_PATH"

这应该足以设置环境变量。现在重新加载这个文件:

source /etc/environment

执行以下命令测试:

echo $JAVA_HOME

如果它返回刚刚设置的路径,则已成功设置环境变量。如果没有,请确保您正确执行了所有步骤。

答案 1 :(得分:0)

我不确定为什么你需要sudo,因为通常一个jar签名工具不需要它。请尝试使用java -jar re-sign.jar。添加sudo时,未设置JAVA_HOME。

您可以在终端进行一些实验:

Krypton@Krypton:~$ echo $JAVA_HOME
/usr/lib/jvm/java-7-oracle
Krypton@Krypton:~$ sudo -s
root@Krypton:~# echo $JAVA_HOME

root@Krypton:~# 

因此在sudo模式下,JAVA_HOME为NULL,这就是您收到错误消息的原因。如果你坚持用sudo运行它:

root@Krypton:~# sudo -E java -jar re-sign.jar