代码之家  ›  专栏  ›  技术社区  ›  Inês

无需源代码即可使用Android测试项目(“制作测试项目的apk”)

  •  3
  • Inês  · 技术社区  · 9 年前

    我有一个基于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 回复  |  直到 9 年前
        1
  •  2
  •   Community Egal    7 年前

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

    在android工作室的右侧将有渐变窗口。打开它并刷新一次,以查看其中的当前项目。

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

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

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

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

    有关更多执行,请参阅 here

    推荐文章