【问题标题】:Create screenshot of a Android 5.0 App with elevation创建具有高度的 Android 5.0 应用程序的屏幕截图
【发布时间】:2015-02-08 18:53:00
【问题描述】:

当我截取我的应用程序(带有立面的材料设计)的屏幕截图时,阴影(立面)不在保存的屏幕截图文件中。 我用真正的设备(Nexus 5)和谷歌模拟器试了一下。屏幕截图看起来不错,但不包括阴影。

我用solo AND screencap(adb shell)捕获了屏幕截图。

有人出主意吗?谢谢

编辑:清单(部分):

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="my.package.name"
    android:installLocation="auto"
    android:versionCode="123"
    android:versionName="1.23" >

    <supports-screens android:anyDensity="true"
                      android:largeScreens="true"
                      android:normalScreens="true"
                      android:resizeable="true"
                      android:smallScreens="true"
                      android:xlargeScreens="true"/>

    <uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />

    <uses-sdk
    android:minSdkVersion="14"
    android:targetSdkVersion="21" />

    <uses-permission android:name="android.permission.INTERNET" />
    <!-- ... -->

    <application
    android:name="MyApplication"
    android:allowBackup="true"
    android:hardwareAccelerated="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:largeHeap="true"
    android:vmSafeMode="true"
    android:theme="@style/AppTheme">
    <!-- definition of receivers -->
    <!-- definition of activities -->
    </application>

</manifest>

【问题讨论】:

  • 我在 Nexus 4(计算器、通讯录、Play 商店)上从系统应用程序捕获带有阴影的屏幕截图时没有问题——我刚刚使用 Android 设备监视器对其进行了测试。您对此有可重现的测试用例吗?
  • 我第二个@CommonsWare,在 Nexus 5 上截图没有问题;包括阴影。
  • 好的,它适用于 nexus 5 和 android 设备监视器,但不适用于 avd 设备(启用主机 gpu)。
  • 你能告诉我清单最小和最大 sdk 版本吗?
  • @DigveshPatel 已添加到我的问题中

标签: android adb android-5.0-lollipop robotium


【解决方案1】:

清单文件更改:

<uses-sdk
    android:minSdkVersion="21"
    android:targetSdkVersion="21" />

现在请检查您的代码。

【讨论】:

  • 谢谢你的回答,但是截图(用solo robots)是一样的(没有阴影)
【解决方案2】:

Robotium 可以截取仅包含已测试应用程序部分的屏幕截图。这意味着例如状态栏被排除在外。据我所知screencap可以处理,但我不确定。您也可以尝试其他截屏方式:

  1. using DDMS
  2. using UIAutomator
  3. using Android Screenshot Library

【讨论】:

  • 感谢您的回答,海拔是我申请的一部分。问题是,截图中没有包含海拔(阴影)。
  • 是的,它们是您的应用程序的一部分,但可能绘制在不属于您的应用程序的不同窗口中。而且 robotsium 和此类工具无法访问那些不同的窗口。
猜你喜欢
  • 1970-01-01
  • 2013-11-17
  • 1970-01-01
  • 2014-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-20
  • 2022-10-08
相关资源
最近更新 更多