Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在硬件设备上测试签名应用程序(apk)?_Android_Testing - Fatal编程技术网

Android 如何在硬件设备上测试签名应用程序(apk)?

Android 如何在硬件设备上测试签名应用程序(apk)?,android,testing,Android,Testing,我现在正在做以下工作: 从Eclipse导出应用程序 将设备连接类型更改为USB 手动将其复制到设备 将设备连接类型更改为同步 在设备上手动安装 有没有办法创建Eclipse调试配置(或其他方式)来自动执行 我需要在设备和文件上进行测试,因为我正在测试应用内购买功能。您可以使用ant进行构建,它将自动化整个构建过程(也用于发布) 默认配置也包含一个安装目标,但我相信这会安装调试apk 编辑:您可以通过adb安装apk: adb install <apk> adb安装 关于问题的

我现在正在做以下工作:

  • 从Eclipse导出应用程序
  • 将设备连接类型更改为USB
  • 手动将其复制到设备
  • 将设备连接类型更改为同步
  • 在设备上手动安装
有没有办法创建Eclipse调试配置(或其他方式)来自动执行


我需要在设备和文件上进行测试,因为我正在测试应用内购买功能。

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

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

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

adb install <apk>
adb安装

关于问题的第一部分:

自动和手动目标模式

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

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

2) 如果有多个设备或模拟器正在运行,每个设备或模拟器都会 构建目标的要求, 将显示一个“设备选择器”以允许您 选择要使用的设备

3) 如果运行的设备或模拟器不符合 构建目标的要求,ADT 查看可用的AVD。如果有 是与构建匹配的AVD ADT选择项目目标 那个AVD。如果AVD版本为 比的生成目标更新 项目中,ADT选择最老的 符合以下条件的AVD的可能版本 项目的构建目标 要求

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

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

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

第二部分

使用Eclipse ADT编译并签名

如果您将Eclipse与ADT一起使用 插件,您可以使用导出向导 导出已签名的.apk(甚至 如有必要,创建一个新的密钥库)。 导出向导将执行所有操作 与Keytool和 Jarsigner为您提供,它允许您 改为使用GUI对包进行签名 执行手动程序以 编译、签名和对齐,如前所述 在上面一旦向导编译完毕 并在你的包裹上签名,它也会 perfom包与 齐帕林。因为导出向导 使用Keytool和Jarsigner,您可以 应确保它们是可访问的 在您的计算机上,如上所述 在签名的基本设置中

在中创建已签名并对齐的.apk 月食:

1) 在包资源管理器中选择项目,然后选择导出

2) 打开Android文件夹,选择导出Android应用程序,然后单击 下一步

3) 导出Android应用程序向导现在启动,它将指导 您可以完成签名过程 您的应用程序,包括 选择要使用的私钥 签署.apk(或创建新的 密钥库和私钥)。 完成导出向导,您的应用程序将被编译, 签名、对齐并准备就绪 分配


如果所有这些还不够,那么我们可以选择用ant构建它。 以下是一些想法(正如我在评论中所说,我没有这方面的经验):


我已经看到了,但很抱歉,我不明白它能帮我什么忙。您应该让您的手机通过USB连接,并启用调试(设置>应用程序>开发>USB调试),而不运行模拟器。因此,除非您在android项目属性中更改它,否则它将自动为您选择安装应用程序的位置,在本例中是手机。它基本上是为您安装apk.apk(命令指示adb只使用usb连接的设备)。但它不会用这种方法用我的私钥为应用程序签名-因此,我无法测试应用程序内购买。第二个链接告诉您如何用自己的密钥在Eclipse中使用它。我现在没有Eclipse,但今晚晚些时候我会写一个逐步的过程。Aleadam,我知道如何用Eclipse来签名。问题是如何自动化所有这些步骤。看起来一些.bat或.cmd文件应该对我有帮助-看起来我需要先生成apk文件,然后根据签名,看起来应该是类似于
ant release
jarsigner-verbose-keystore my-release-key.keystore bin/my_application.apk alias_name
adb-d安装bin/my_应用程序。apk
ant release
将进行签名并输出一个_release.apk,因此跳过jarsigner。让它
adb-d安装-r
-否则如果应用程序已经安装,它将失败。谢谢。我在我的问题评论中添加了更多细节。你能检查一下这是否是正确的方法吗?(如果是这样,我需要了解如何在我的Windows PC上安装ant)@lauAnt在Windows上运行良好,它是用Java编写的,并带有ant.bat/ant.cmd包装脚本。