由android-junit-report创建的adb pull junit-report.xml上的权限被拒绝

时间:2013-04-12 19:44:00

标签: android junit adb

我正在使用android-junit-report能够在我的Jenkins机器上发布Junit测试结果报告。我按照那个文档说道:

注意:默认情况下,只有受测试的应用程序才能完全访问存储报告的目录。例如,除非您有root设备,否则您将无法列出目录的内容。然而,跑步者将文件标记为世界可读,因此知道您可以从设备中提取它的完整路径。

当我尝试 adb pull 时,我权限被拒绝。有人遇到过这个问题吗?

4 个答案:

答案 0 :(得分:0)

您应该将reportDir设置为外部存储中的位置:

  

reportDir

     

如果指定,则写入目录的绝对路径   报告文件。可以从外部开始,将被替换   与应用程序的外部存储区域的路径   测试。这需要外部存储可用   正在测试的应用程序中的WRITE_EXTERNAL_STORAGE权限。

答案 1 :(得分:0)

junit-report生成与权限问题无关,只要在/ data / data / package_name /

下创建它即可

你能看到ddms中的文件吗?如果你这样做,你对Junit报告没有任何问题。离开junit-report方面。但如果你不这样做,你可以尝试一些其他的工具,如this一个。

现在,如果您看到该文件,请解决adb问题?

  • 是关于这个特定设备的吗?尝试不同的。
  • 错误的路径?

答案 2 :(得分:0)

我设法解决了enter link description here中提供的 ant 解决方案。我不知道该文件是否具有世界可读性,但我的设备上的 adb pull 返回了拒绝权限。也许这取决于设备类型。

我在build.xml中添加了:

<target name="fetch-test-report" >
    <xpath
        expression="/manifest/@package"
        input="${tested.project.dir}/AndroidManifest.xml"
        output="tested.package" />
    <echo>Downloading XML test report...</echo>
    <exec
        executable="${adb}"
        failonerror="true" >
        <arg line="${adb.device.arg}" />
        <arg value="pull" />
        <arg value="/data/data/${tested.package}/files/junit-report.xml" />
        <arg value="report/junit-report.xml" />
    </exec>
</target>

答案 3 :(得分:0)

复制到sdcard / datas /然后再次拉。希望好玩