【问题标题】:How to test signed application (apk) on the Hardware Devices?如何在硬件设备上测试签名的应用程序(apk)?
【发布时间】:2011-04-14 16:08:33
【问题描述】:

我现在正在做以下事情:

  • 从 Eclipse 导出应用程序
  • 将设备连接类型更改为 USB
  • 手动复制到设备
  • 将设备连接类型更改为同步
  • 在设备上手动安装

有什么方法可以自动创建 Eclipse 调试配置(或其他)?

由于我正在测试应用内购买功能,因此我需要在设备上进行测试,并且文件应该被签名。

【问题讨论】:

  • 看起来一些 .bat 或 .cmd 文件应该对我有帮助 - 看起来我需要先生成 apk 文件,然后按照 developer.android.com/guide/publishing/app-signing.html#signapp 进行签名
  • 看起来应该类似于ant release <br> jarsigner -verbose -keystore my-release-key.keystore bin/my_application.apk alias_name <br> adb -d install bin/my_application.apk
  • ant release 将执行签名并输出 _release.apk,因此请跳过 jarsigner。设为adb -d install -r <apk> - 否则如果应用已安装,它将失败。

标签: android testing


【解决方案1】:

您可以使用 ant 进行构建,它将自动化整个构建过程(也用于发布)。

默认配置也包含一个安装目标,但我相信这会安装调试 apk。

编辑:您可以通过 adb 安装 apk:

adb install <apk>

【讨论】:

  • 谢谢。我在问题 cmets 中添加了更多详细信息。您能否检查一下这是否是正确的方法? (如果是这样,我需要了解如何在我的 Windows PC 上安装 ant)
  • @LA_ Ant 在 Windows 上运行良好,它是用 Java 编写的,并带有一个 ant.bat/ant.cmd 包装脚本。
【解决方案2】:

对于问题的第一部分:

http://developer.android.com/guide/developing/building/building-eclipse.html

自动和手动目标模式

默认情况下,运行配置使用 自动目标模式,以便 选择一个 AVD。在这种模式下,ADT 将 为应用程序选择一个 AVD 方式如下:

1) 如果有设备或模拟器已经在运行并且它的 AVD 配置符合要求 应用程序的构建目标, 应用程序已安装并运行 它。

2) 如果有多个设备或模拟器在运行,每个都满足 构建目标的要求, 显示“设备选择器”让您 选择要使用的设备。

3) 如果没有运行符合 构建目标的要求,ADT 查看可用的 AVD。如果有 是与构建匹配的 AVD 项目目标,ADT 选择 那个AVD。如果 AVD 版本是 比构建目标更新 项目,ADT 选择最老的 满足的 AVD 的可能版本 项目的构建目标 要求。

4) 如果没有合适的 AVD,应用程序没有安装控制台 错误警告告诉你有 没有满足构建的现有 AVD 目标要求。

但是,如果“首选 AVD”是 在运行配置中选择, 那么应用程序将永远是 部署到该 AVD。如果不是 已经在运行,然后是一个新的模拟器 将启动。

如果您的运行配置使用手动 模式,则“设备选择器”为 每次您的 应用程序已运行,因此您可以 选择要使用的 AVD。

对于第二部分,

http://developer.android.com/guide/publishing/app-signing.html#ExportWizard

使用 Eclipse ADT 编译和签名

如果您使用带有 ADT 的 Eclipse 插件,您可以使用导出向导 导出已签名的 .apk(甚至 如有必要,创建一个新的密钥库)。 导出向导执行所有 与 Keytool 的交互和 Jarsigner for you,它允许你 改为使用 GUI 对包进行签名 执行手动程序以 如讨论的那样编译、签名和对齐 更多。向导编译完成后 并签署您的包裹,它也会 执行包对齐 拉链对齐。因为导出向导 同时使用 Keytool 和 Jarsigner,你 应确保它们是可访问的 在您的计算机上,如上所述 在签名的基本设置中。

创建一个签名并对齐的 .apk 在 日食:

1) 在 Package Explorer 中选择项目,然后选择 File > Export

2)打开Android文件夹,选择Export Android Application,点击 下一步

3) 导出 Android 应用程序向导现在启动,它将引导 你通过签署的过程 您的申请,包括以下步骤 选择私钥 签署.apk(或创建一个新的 密钥库和私钥)。 完成导出向导,您的应用程序将被编译, 签名、对齐并准备就绪 分布。


如果这一切还不够,那么可以选择使用 ant 构建它。 请参阅此处了解一些想法(正如我在评论中所说,我对此没有经验):

http://developer.android.com/guide/developing/projects/projects-cmdline.html

Eclipse Android app: Run signed with real certificate

Android Ant project reference

http://www.alittlemadness.com/2010/05/31/setting-up-an-android-project-build/

【讨论】:

  • 我已经看到了,但是很抱歉我不明白它对我有什么帮助。
  • 您应该通过 USB 连接您的手机,并打开调试(设置 > 应用程序 > 开发 > USB 调试)并且没有运行模拟器。因此,除非您在 android 项目属性中更改它,否则它将自动为您选择安装应用程序的位置,在本例中为手机。它基本上是在为您执行adb -d install YOURAPK.apk-d 命令指示 adb 仅使用 USB 连接的设备)。
  • 但它不会用我的私钥用这种方法签署应用程序 - 所以,我无法测试应用内购买。
  • 第二个链接告诉你如何用 Eclipse 用你自己的键来唱它。我现在没有 Eclipse,但今晚晚些时候我会写一个逐步的过程。
  • Aleadam,我知道如何用 Eclipse 签名。问题是如何自动化所有这些步骤。
猜你喜欢
  • 1970-01-01
  • 2013-05-17
  • 1970-01-01
  • 2011-12-07
  • 2015-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多