1

当我从命令行运行“ant debug”时,我收到以下错误消息:

[apkbuilder] keytool error: java.io.FileNotFoundException: \stulab2\folderRedir ection$.android\debug.keystore (系统找不到指定的路径)

BUILD FAILED
e:\programs\java\android-sdk\tools\ant\build.xml:919: The following error occurred while executing this line:
e:\programs\java\android-sdk\tools\ant\build.xml:930: The following error occurred while executing this line:
e:\programs\java\android-sdk\tools\ant\build.xml:295: com.android.sdklib.build.ApkCreationException: Unable to get debug signature key
        at com.android.sdklib.build.ApkBuilder.getDebugKey(ApkBuilder.java:277)

接下来是很长的堆栈跟踪。

问题是我在公共计算机上并且没有对 Ant 期望找到 .android\debug.keystore 的文件夹的写入权限。一些研究在 Android 文档中发现了以下内容:

如有必要,您可以更改调试密钥库/密钥的位置/名称或提供自定义调试密钥库/密钥以供使用。但是,任何自定义调试密钥库/密钥都必须使用与默认调试密钥相同的密钥库/密钥名称和密码(如上所述)。(要在 Eclipse/ADT 中执行此操作,请转到 Windows > Preferences > Android > Build。)

不幸的是,这并没有解释如何使用命令行工具更改调试密钥库的位置。

几个月前,有人在 stackoverflow 上问了基本相同的问题:如何为 Android ant 调试版本指定调试密钥库的位置?. 到目前为止,最好的答案是重写 -do-debug 目标。据我所知,我还需要设置指定的属性。

这个答案的一个问题是它使用与发布版本相同的属性。此外,最好简单地设置正确的属性,而不是重写(和调试)整个 -do-debug 目标。有谁知道是否可以设置属性来指定 debug.keystore 文件的位置?

4

1 回答 1

0

.bashrc中,将ANDROID_SDK_HOME环境变量设置为您的 Android SDK 安装位置。例如:

export ANDROID_SDK_HOME="/home/myusername/path/to/androidsdk"

然后,在一个新的 shell 中,运行ant debug会创建一个${ANDROID_SDK_HOME}/.android/debug.keystore文件。

或者,无需全局更改变量,您可以简单地运行:

ANDROID_SDK_HOME="/home/myusername/path/to/androidsdk" ant debug
于 2012-09-11T03:05:44.200 回答