3

我有一个基于 InstrumentationTestCase 并使用 AndroidJUnitRunner 的 Android 测试项目。

我需要将我的项目提供给另一方,但我不想提供源代码。

目前我有两个项目:

  • 一个安装我要在设备中测试的应用程序的 APK 的 Java 项目:我有这个项目的 jar 文件
  • 一个测试应用程序的 Android 测试项目。

Java 项目目前正在通过以编程方式运行“gradlew connectedCheck”来启动 AndroidTestProject。

现在我想将安装程序和测试项目都提供给其他人,但我不想透露源代码。因此,这相当于创建 apk,但用于测试项目。

所以我的两个问题是:

  • 如何为我的测试项目获取“可执行文件”
  • 如何以编程方式运行它(我假设没有源代码 gradlew cC 不起作用)。

我不知道这是否重要所以这里是:我的项目层次结构是

Project
    .gradle
    .idea
    app
        build
        src
            androidTest
                java
                    package
                        sub-packages and java files
            main
                AndroidManifest
            app.iml
            build-gradle
            proguard-rules.pro
    build
    gradle
    ...
4

1 回答 1

2

我要改变我的完整答案!从来没有想过这会这么容易。

在 android studio 的右侧会有 gradle 窗口。打开它并刷新一次以查看您当前的项目。

在任务部分,构建子部分 - > 组装和组装测试选项将在那里。为您的普通 apk 组装并为您的测试 apk 组装测试。这些将在 app/build/output/apk 文件夹中生成。

至于以编程方式运行它们,请使用gradle 任务(其中用于 ./gradlew test --continue 的命令行功能)将在构建后运行测试,或者如果您想使用 java,请在此处使用它。对于 shell 命令,使用 C 总是很容易;)

编辑 2:正如 Ines 在评论中提到的,要运行您可以使用的测试:

adb install name-of-the-apk.apk
adb shell am 仪器 -w packageWithTest/android.support.test.runner.AndroidJUnitRunner

有关更多执行,请参见此处

于 2015-08-10T06:31:12.360 回答