我正在使用android-junit-report能够在我的 Jenkins 机器中发布 Junit 测试结果报告。我遵循了该文档,它说:
注意:默认情况下,只有被测应用程序才能完全访问存储报告的目录。例如,除非您有根设备,否则您将无法列出目录的内容。但是,运行程序将该文件标记为全球可读,因此知道您可以从设备中提取它的完整路径。
当我尝试adb pull时,我得到了权限被拒绝。有人遇到过这个问题吗?
我正在使用android-junit-report能够在我的 Jenkins 机器中发布 Junit 测试结果报告。我遵循了该文档,它说:
注意:默认情况下,只有被测应用程序才能完全访问存储报告的目录。例如,除非您有根设备,否则您将无法列出目录的内容。但是,运行程序将该文件标记为全球可读,因此知道您可以从设备中提取它的完整路径。
当我尝试adb pull时,我得到了权限被拒绝。有人遇到过这个问题吗?
您应该将 reportDir 设置为外部存储中的某个位置:
报告目录
如果指定,则为写入报告文件的目录的绝对路径。可能以external开头,它将替换为被测应用程序的外部存储区域的路径。这需要外部存储可用并且在被测应用程序中具有 WRITE_EXTERNAL_STORAGE 权限。
junit-report 生成与权限问题无关,只要在 /data/data/package_name/ 下的任何位置创建它
你能在ddms中看到文件吗?如果你这样做,你对 Junit-report 没有任何问题。离开junit-report方面。但如果你不这样做,你可以尝试一些其他的仪器,比如这个。
现在,如果您看到该文件,那么用 adb 解决问题?
我设法使用此处输入链接描述中给出的蚂蚁解决方案来解决。我不知道该文件是否是世界可读的,但我的设备上的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>
复制到 sdcard/datas/ 然后再拉。希望好玩