有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java测试应用程序处于发布模式

在发布模式下如何测试应用程序?我尝试了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/安卓.test.InstrumentationTestRunner}
 [exec] INSTRUMENTATION_STATUS_CODE: -1
 [exec] 安卓.util.AndroidException: INSTRUMENTATION_FAILED: com.kizbit.speedyreader.tests/安卓.test.InstrumentationTestRunner

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

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


共 (1) 个答案

  1. # 1 楼答案

    好吧,我找到了一个方法。确保检查AndroidManifest中的包名。测试包的xml和测试类的路径。出于某种原因,清单中的包名是com。。。。测试,而类不在/tests目录中。我不知道它是如何工作的,但它曾经在正常调试中工作过

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

    Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]
    

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

    此外,您必须复制版本。密钥库文件从实际项目目录保存到测试项目目录中,如果您的密钥保存在ant中。属性,则必须将这些条目复制到测试ant中。财产也

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

    然后它将用发布版本进行测试

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