0

リリース モードでアプリをテストするにはどうすればよいですか? 試し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

キーストアをテスト プロジェクトに既にコピーしました。

多くの状態を保存するため、リリースモードでテストしたい。デバッグ モードで再インストールすると、アンインストールしてから再インストールする必要があり、すべての状態が削除されます。

4

1 に答える 1

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 にコピーする必要があります。

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

次に、リリース バージョンでテストします。

実際のアプリはインストールされないため、変更する場合は、アプリ ディレクトリから手動でリリース バージョンを再コンパイルして再インストールする必要があることに注意してください。build.xml を変更してリリース バージョンを自動的にビルドおよびインストールする方法があるかもしれませんが、まだ確認していません。

于 2012-10-07T21:53:23.667 に答える