1

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

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

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

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

请帮忙

4

2 回答 2

3

我找到了解决方案:

  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
于 2013-06-16T10:39:52.873 回答
1

运行 keytool 并创建一个密钥库,例如

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。

于 2014-03-27T22:31:41.713 回答