在发布模式下测试应用

时间:2012-10-07 20:11:11

标签: java android

如何在发布模式下测试应用?我试过了ant release test,但是却给出了这个错误

test:
 [echo] Running tests ...
 [exec] INSTRUMENTATION_STATUS: id=ActivityManagerService
 [exec] INSTRUMENTATION_STATUS: Error=Unable to find instrumentation info for: ComponentInfo{com.kizbit.speedyreader.tests/android.test.InstrumentationTestRunner}
 [exec] INSTRUMENTATION_STATUS_CODE: -1
 [exec] android.util.AndroidException: INSTRUMENTATION_FAILED: com.kizbit.speedyreader.tests/android.test.InstrumentationTestRunner

我已将密钥库复制到测试项目中。

我想在发布模式下进行测试,因为它可以节省很多状态。如果我在调试模式下重新安装,那么我必须卸载并重新安装它,并删除所有状态。

1 个答案:

答案 0 :(得分:1)

好的,我找到了办法。请务必在AndroidManifest.xml中检查测试包的包名称以及测试类的路径。由于某种原因,清单中的包名称是com .... tests,而类不在/ tests目录中。我不知道它是如何工作的,但它曾经用于正常的调试。

要让它在发布模式下进行测试,您必须使用ant release install test。我忘记了安装。此外,test将始终构建应用程序的调试版本,因此您必须手动转到真实的应用程序项目目录,然后运行ant release install,这将安装发行版本。然后,转到测试项目目录并运行ant release install test。这将产生错误

Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]

当它尝试安装实际应用时,因为它已经安装了发布密钥。你可以忽略这一点。此外,您必须使用adb uninstall com........tests删除测试项目的调试版本,以确保在您尝试安装测试的发行版时它不会出现此错误。

此外,您必须将release.keystore文件从实际项目目录复制到测试项目目录中,如果您将密钥保存在ant.properties中,则必须将这些条目复制到测试ant.properties中< / p>

key.store=release.keystore
key.alias=mykey
key.store.password=password
key.alias.password=password

然后它将测试发布版本!

请记住,因为它没有安装实际的应用程序,所以如果要更改内容,则必须从app目录手动重新编译并重新安装发行版本。也许有一种方法可以自动构建&amp;通过修改build.xml来安装发行版,但我还没有检查过。