android ant build:调试和发布目标

时间:2011-06-10 21:11:13

标签: android ant

根据'帮助'目标文档:

  1. debug :构建应用程序和 用调试密钥签名
  2. 释放;构建应用程序: 生成的APK文件必须签名 在发布之前
  3. 这是我发现的,与我的预期有点不同:

    debug :忽略build.properties中的密钥库定义,无论您是否指定它们。它使用哪个kesystore文件?与Eclipse相同:文档和设置中的默认debug.keystore文件?

    它会创建两个文件:

    1. -debug-unaligned.apk(已签名,未对齐)
    2. -debug.apk(签名,对齐)
    3. 发布:'help'表示它没有签名。它创建了这些文件:

      1. -unsigned.apk(unsigned,unaligned)
      2. 仅当您拥有build.properties中指定的值时,接下来的两个:

        1. -unaligned.apk(已签名,未对齐)
        2. -release.apk(签名,对齐)
        3. 非常感谢任何有用的评论/验证。

3 个答案:

答案 0 :(得分:10)

  

它使用哪个kesystore文件?与Eclipse相同:文档和设置中的默认debug.keystore文件?

答案 1 :(得分:7)

就发布目标而言,您将获得如下行为:

如果您有以下行:

key.store=c:/users/me/my-release-key.keystore
key.alias=release_alias
key.store.password=myStorePassword
key.alias.password=myAliasPassword

在您的build.properties中,它会自动构建并签署您的apk而不会提示任何内容。

如果您注释掉最后两行,那么它会提示您输入密码,然后在密码正常的情况下完成签名的构建。

如果您没有上述任何一行,那么它只会构建一个未签名的apk,不会提示任何内容,并以:

结束
-release-nosign:
[echo] No key.store and key.alias properties found in build.properties.
[echo] Please sign C:\dev\projects\AntBuilds\MyProject\bin\MyProject-unsigned.apk manually
[echo] and run zipalign from the Android SDK tools.

答案 2 :(得分:1)

这个答案适合我,我使用ant自动编译android app,它提示并需要密码,我写了一个名为password的文件,并使用命令--- ant release< passwd文件, 但是,它还提示我需要输入密码。

使用此处的提示

key.store=c:/users/me/my-release-key.keystore
key.alias=release_alias
key.store.password=myStorePassword
key.alias.password=myAliasPassword

我解决了这个问题。