当我从命令行运行“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 文件的位置?