在GCloud中使用Firebase截取屏幕时出错

时间:2017-01-08 17:52:46

标签: android firebase android-espresso gcloud

我在尝试将here的截图库集成到我非常简单的Android项目中时遇到了很多麻烦。我非常仔细地按照教程中概述的步骤进行操作。

当我从gcloud查看日志时,我看到以下错误

  

01-07 19:41:06.724:E / cloud_screenshotter(5752):异常   截图:java.io.FileNotFoundException:   /sdcard/screenshots/com.computemachines.android.workplay.ClockingActivityScreenshotTest-takeScreenshot-main_screen_3-1.jpg:   打开失败:ENOENT(没有这样的文件或目录)

有趣的是,我在同一台计算机上有一个不同的项目,其构建结构几乎相同,其中截图工作! gradle版本,测试用例,build.gradle文件在两者中完全相同。

回购中app/build.gradle的摘录不起作用

androidTestCompile (name:'cloudtestingscreenshotter_lib', ext:'aar')
    compile fileTree(dir: 'libs', include: ['*.jar'])
    // Espresso testing
    androidTestCompile 'com.android.support.test:runner:0.5'
    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
    androidTestCompile 'com.android.support:support-annotations:25.1.0', {
        exclude group: 'com.google.code', module: 'jsr305'
}

不起作用的整个回购邮件是GitHub,有效的回购邮件是here

用于调用构建并在GCloud上运行的调用命令对于两者都是相同的

./gradlew clean assembleDebug assembleDebugAndroidTest && gcloud beta test android run \
  --type instrumentation \
  --app app/build/outputs/apk/app-debug-unaligned.apk \
  --test app/build/outputs/apk/*est-unaligned.apk \
  --device-ids Nexus6 \
  --os-version-ids 23 \
  --locales en \
  --orientations portrait

我花了超过10个小时试图解决这个问题,我尝试的所有事情的总结思维导图是here。我可以提供所需的任何其他信息,但希望解决此问题。

1 个答案:

答案 0 :(得分:2)

为了将屏幕截图写入预期位置,应用必须持有WRITE_EXTERNAL_STORAGE权限as described in the documentation