Eclipse で作成された、1 つのアクティビティを持つサンプル Android アプリがあります。このコマンドを実行して、このプロジェクトの ant ビルド ファイルをビルドしました。
android create project --target 8 --name SampleApp --path ./SampleApp --activity MainActivity --package com.example.sampleapp
「ant debug」を実行すると、プロジェクトが正常にビルドされ、apk ファイルが作成されます。
-post-build:
debug:
BUILD SUCCESSFUL
Total time: 1 second
次に、Android テスト プロジェクトを作成します。次のコマンドを実行します。
android create test-project -m ../SampleApp -n SampleAppTest -p SampleAppTest
これにより、ビルド ファイルを含む SampleAppTest ディレクトリが正常に作成されました。src/com/example/sampleapp/MainActivityTest.java という 1 つのクラスがあります。
package com.example.sampleapp;
import android.test.ActivityInstrumentationTestCase2;
public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActivity> {
public MainActivityTest() {
super("com.example.sampleapp", MainActivity.class);
}
}
このプロジェクトを構築したい。http://developer.android.com/tools/testing/testing_otheride.html#RunTestsAntにあるチュートリアルでは、「ant run-tests」を実行できるはずだと書かれています。残念ながら、このターゲットは存在しません:
$ ant run-tests
Buildfile: /Users/cmuraru/Work/androidtest/SampleAppTest/build.xml
BUILD FAILED
Target "run-tests" does not exist in the project "SampleAppTest".
Total time: 0 seconds
「ant デバッグ」を試みると、コンパイル時に (SampleApp からの) MainActivity クラスが見つからないというエラーが表示されます。
-compile:
[javac] Compiling 2 source files to /Users/cmuraru/Work/androidtest/build/test/classes
[javac] /Users/cmuraru/Work/androidtest/SampleAppTest/src/com/example/sampleapp/MainActivityTest.java:15: cannot find symbol
[javac] symbol: class MainActivity
[javac] public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActivity> {
[javac] ^
[javac] /Users/cmuraru/Work/androidtest/SampleAppTest/src/com/example/sampleapp/MainActivityTest.java:18: cannot find symbol
[javac] symbol : class MainActivity
[javac] location: class com.example.sampleapp.MainActivityTest
[javac] super("com.example.sampleapp", MainActivity.class);
[javac] ^
[javac] 2 errors
BUILD FAILED
/Users/cmuraru/Work/android-sdk-macosx/tools/ant/build.xml:705: The following error occurred while executing this line:
/Users/cmuraru/Work/android-sdk-macosx/tools/ant/build.xml:718: Compile failed; see the compiler error output for details.
Total time: 1 second
「ant テスト」を試みると、失敗します。
test:
[echo] Running tests ...
[exec] INSTRUMENTATION_STATUS: id=ActivityManagerService
[exec] INSTRUMENTATION_STATUS: Error=Unable to find instrumentation info for: ComponentInfo{com.example.sampleapp.tests/android.test.InstrumentationTestRunner}
[exec] INSTRUMENTATION_STATUS_CODE: -1
[exec] android.util.AndroidException: INSTRUMENTATION_FAILED: com.example.sampleapp.tests/android.test.InstrumentationTestRunner
[exec] at com.android.commands.am.Am.runInstrument(Am.java:616)
[exec] at com.android.commands.am.Am.run(Am.java:118)
[exec] at com.android.commands.am.Am.main(Am.java:81)
[exec] at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
[exec] at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:237)
[exec] at dalvik.system.NativeStart.main(Native Method)
ここで何が欠けている/間違っていますか? どんな助けでも大歓迎です。