我在测试一个android项目时遇到了麻烦。
我有一个没有源的调试apk。“开始activity”类是
com.restfriedchicken.android.MainActivity
我把它安装在
adb install -r app/build/outputs/apk/app-debug.apk
然后使用以下build.gradle和androidmanifest.xml创建一个新项目
null
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.restfriedchicken.android.test">
<uses-sdk
android:minSdkVersion="17"
android:targetSdkVersion="17" />
<application android:allowBackup="false">
<!-- linkage for the test runner -->
<uses-library android:name="android.test.runner" />
</application>
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.restfriedchicken.android" />
</manifest>
null
apply plugin: 'com.android.application' android { compileSdkVersion 17 buildToolsVersion "21.1.2" defaultConfig { minSdkVersion 17 targetSdkVersion 17 } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile 'com.jayway.android.robotium:robotium-solo:5.3.1' compile 'com.jcraft:jsch:0.1.51' }
但当我运行测试时,它报告找不到“com.restfriedchicken.android.mainActivity”:
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.restfriedchicken.android.MainActivity" on path: DexPathList[ [ zip file "/system/framework/android.test.runner.jar", zip file "/data/app/com.restfriedchicken.android.test.test-1.apk", zip file "/data/app/com.restfriedchicken.android.test-1.apk" ], nativeLibraryDirectories=[ /data/app-lib/com.restfriedchicken.android.test.test-1, /data/app-lib/com.restfriedchicken.android.test-1, /system/lib ] ]
看来仪器没有成功?
我刚开始工作。我将测试从src/androidtest移到src/main,并通过以下步骤运行测试:
./gradlew clean :app:assembleDebug adb install -r app/build/outputs/apk/app-debug.apk adb shell am instrument -w com.restfriedchicken.android.test/android.test.InstrumentationTestRunner
但是如果我使用android studio运行android测试,它就不工作了。