1

我在测试一个 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>

应用插件:'com.android.application'

安卓 {
    compileSdkVersion 17
    构建工具版本“21.1.2”

    默认配置 {
        minSdkVersion 17
        targetSdkVersion 17
    }

    构建类型 {
        发布 {
            缩小启用假
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

依赖{
    编译'com.jayway.android.robotium:robotium-solo:5.3.1'
    编译'com.jcraft:jsch:0.1.51'
}

但是当我运行测试时,它报告找不到“com.restfriedchicken.android.MainActivity”:

引起:java.lang.ClassNotFoundException:
在路径上找不到类“com.restfriedchicken.android.MainActivity”:
索引路径列表[
    [
        压缩文件“/system/framework/android.test.runner.jar”,
        压缩文件“/data/app/com.restfriedchicken.android.test.test-1.apk”,
        压缩文件“/data/app/com.restfriedchicken.android.test-1.apk”
    ],
    本机图书馆目录=[
        /data/app-lib/com.restfriedchicken.android.test.test-1,
        /data/app-lib/com.restfriedchicken.android.test-1,
        /系统/库
    ]
]

似乎仪器没有成功?

4

1 回答 1

0

我刚开始工作。我将测试从 src/androidTest 移动到 src/main 并通过以下步骤运行测试:

./gradlew clean :app:assembleDebug
adb install -r app/build/outputs/apk/app-debug.apk
adb shell am 仪器 -w com.restfriedchicken.android.test/android.test.InstrumentationTestRunner

但是,如果我使用 android studio 运行 android 测试,它就不起作用。

于 2015-03-26T05:25:06.450 回答