まだ比較的環境に優しいので、事前にビルドされたアプリ sans source に対して JUnit 機能テストを作成できるかどうかを調べようとしています。アプリに再署名する手段を見つけましたが、それをテストの依存関係として Eclipse プロジェクトに含める方法を知りたいですか?
1 に答える
1
はい、これはJavaリフレクションを使用して実際に可能です。
これに加えて、テストしたいアプリを辞任する必要があるかもしれません。デバイスからダウンロードし(たとえば、アプリAppMonsterを使用)、resign.jar(http://www.troido.de/re-sign.jar)を使用して再署名し、adbを使用して再度インストールします。
その後、すべてが正常に機能するはずです。
@SuppressWarnings("rawtypes")
public class YourTestSuite extends ActivityInstrumentationTestCase2 {
/** Package ID of the app under test. */
private static final String TARGET_PACKAGE_ID = "com.something";
/** ID of the app under test's main activity. */
private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME = "com.something.HomeActivity";
/** Launcher activity class. */
private static Class<?> launcherActivityClass;
/** Static code to find the activity class. */
static {
try {
launcherActivityClass = Class
.forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME);
}
catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}
/**
* Constructor
*
* @throws ClassNotFoundException
*/
@SuppressWarnings("unchecked")
public YourTestSuite() throws ClassNotFoundException {
super(TARGET_PACKAGE_ID, launcherActivityClass);
}
/* Your test code comes here. */
}
于 2012-08-17T18:51:05.790 に答える