在没有源代码的情况下使Android测试项目可用(“make test of the test-project”)

时间:2015-07-24 08:18:10

标签: android apk android-testing source-code-protection test-project

我有一个基于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
    ...

1 个答案:

答案 0 :(得分:2)

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

在Android工作室的右侧,将有一个gradle窗口。打开它并刷新一次以查看当前项目。

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

至于以编程方式运行它们,使用gradle tasks(其中的命令行函数用于./gradlew test --continue)将在构建之后运行测试,或者如果你想使用java将其用作{{3 }}。对于shell命令,使用C总是很容易;)

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

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

有关更多执行情况,请参阅here