我在测试Android项目时遇到了麻烦。
我有一个没有源代码的调试apk。开始活动类是
com.restfriedchicken.android.MainActivity
我使用
安装它adb install -r app/build/outputs/apk/app-debug.apk
然后我使用以下build.gradle和AndroidManifest.xml
创建一个新项目
<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>
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 ] ]
似乎仪器没有成功?
答案 0 :(得分:0)
我刚开始工作了。我将测试从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测试,它就不起作用了。