【问题标题】:Building release Android APK with vs-android使用 vs-android 构建发布 Android APK
【发布时间】:2013-06-07 08:18:17
【问题描述】:

我有大量的 C++ 本机代码和一小部分用于 Android 应用程序的包装 Java 代码。我能够使用 vs-android 将它们组合成一个 Android 应用程序,并直接从 Visual Studio 2012 构建它。 但我只能在调试模式下执行此操作。在 RELEASE - ant 抱怨我需要一个密钥来签署应用程序。 我需要做什么才能构建 RELEASE 应用并将其自动部署到设备上(就像在 DEBUG 模式下所做的那样)?

顺便说一句,我想构建一个 RELEASE 只是为了查看 C++ 代码的运行速度,而不是为了在 Google 商店上发布应用程序。因此,如果有一种方法可以注入在 DEBUG 模式下使用的密钥也用于 RELEASE,那就太好了。

我不想收到的解决方案:运行创建未签名 APK 的构建,然后调用添加签名、zipaligns 等的批处理文件... 在 Visual Studio 中点击“构建”按钮时,我希望一切都能顺利运行。

另一个糟糕的解决方案是使用 Ecllipse。我想使用视觉工作室。

请帮忙

【问题讨论】:

  • 我相信只有 Eclipse 和 Android Studio 是官方的工具。因此,您的愿望可能仍未得到满足。虽然也许有人确实使用过 VS。 VS 有什么特别之处?
  • 您是否考虑过将调试密钥库替换为发布密钥(无密码)?
  • 不可能。没有“我的”调试密钥库,因为 ant 这样做了。它是在构建期间创建的。我知道这个问题的解决方案应该很容易,但我不知道。附: - VS-android 的特别之处在于我可以从 Visual Studio 构建 android 应用程序
  • 谁对我的问题投了反对票,请解释原因。这是一个有效的问题,我的回答也是有效的。

标签: android visual-studio-2012 release vs-android


【解决方案1】:

我找到了解决办法:

  1. 进入Android SDK 内的ANT build.xml 目录。 我的在这里:C:\android_sdk\adt-bundle-windows-x86_64-20130514\sdk\tools\ant build.xml 文件相当大(大约 70kb)。打开此文件进行编辑。
  2. 找行<target name="-release-nosign" unless="has.keystore">
  3. 在下面添加以下属性:

<property name="has.keystore" value="true" />

<property name="key.store" value="release.keystore" />

<property name="key.store.password" value="android" />

<property name="key.alias" value="androiddebugkey" />

<property name="key.alias.password" value="android" />

  1. 最后,转到您要编译的 APK 的目录,您应该已经有了 debug.keystore 文件。只需复制它并将其重命名为 release.keystore

【讨论】:

    【解决方案2】:

    运行keytool并创建一个keystore,例如

    C:\my-project\my-release-keystore.keystore

    然后在与您的 project.properties 相同的目录中添加一个 ant.properties,其中包含以下内容:

    key.store=C:\\my-project\\my-release-keytore.keystore
    key.store.password=my-keystore-password
    key.alias=my-apps-alias
    key.alias.password=my-alias-password
    

    就是这样 - 当您构建发布模式时,ANT 将签署您的发布 APK。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-18
      • 1970-01-01
      • 2021-01-06
      • 2017-03-18
      • 2017-02-03
      • 1970-01-01
      相关资源
      最近更新 更多