java.lang.NoSuchMethodError:没有接口方法 onTransitionToIdle()V

2024-02-19

请告诉我,我是 Android 测试新手,我一直在尝试修复初始 NavigationView 测试,但收到错误。我只是想打开抽屉并单击菜单以进入新活动。

java.lang.NoSuchMethodError: No interface method onTransitionToIdle()V in class Landroid/support/test/espresso/IdlingResource$ResourceCallback; or its super classes (declaration of 'android.support.test.espresso.IdlingResource$ResourceCallback' appears in /data/app/com.bellman.inecparrot.mock-2/base.apk)
    at android.support.test.espresso.contrib.DrawerActions$IdlingDrawerListener.onDrawerStateChanged(DrawerActions.java:266)
    at android.support.v4.widget.DrawerLayout.updateDrawerState(DrawerLayout.java:834)
    at android.support.v4.widget.DrawerLayout$ViewDragCallback.onViewDragStateChanged(DrawerLayout.java:2089)
    at android.support.v4.widget.ViewDragHelper.setDragState(ViewDragHelper.java:881)
    at android.support.v4.widget.ViewDragHelper$2.run(ViewDragHelper.java:338)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.support.test.espresso.base.UiControllerImpl.loopUntil(UiControllerImpl.java:470)
    at android.support.test.espresso.base.UiControllerImpl.loopMainThreadUntilIdle(UiControllerImpl.java:365)
    at android.support.test.espresso.contrib.DrawerActions$DrawerAction.perform(DrawerActions.java:79)
    at android.support.test.espresso.ViewInteraction$1.run(ViewInteraction.java:144)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
    at java.util.concurrent.FutureTask.run(FutureTask.java:237)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:211)
    at android.app.ActivityThread.main(ActivityThread.java:5389)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1020)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:815)

以下是我正在运行的测试:

@RunWith(AndroidJUnit4.class)
@LargeTest
public class AppNavigationTests {

    /**
     * {@link ActivityTestRule} is a JUint {@link Rule @Rule} to launch your activity under test
     * <p>
     * <p>
     * Rules are interceptios which are executed for each test method and are important building
     * block for JUnit tests.
     */

    @Rule
    public ActivityTestRule<HomeActivity> mActivityTestRule =
            new ActivityTestRule<>(HomeActivity.class);
    private IdlingResource mIdlingResource;



    @Test
    public void clickOnAndroidHomeIcon_OpensNavigation() {
        //check the left drawer is closed at startUp
        onView(withId(R.id.drawerlayout))
                .check(matches(isClosed(Gravity.LEFT))); //left Drawer should be closed
        //open Drawer
        onView(withContentDescription(TestUtils.getToolbarNavigationContentDescription(
                mActivityTestRule.getActivity(), R.id.toolbar
        )))
                .perform(click());

        //Check if drawer is open by now
        onView(withId(R.id.drawerlayout))
                .check(matches(isOpen(Gravity.LEFT)));

        //close the drawer
        onView(withContentDescription(TestUtils.getToolbarNavigationContentDescription(
                mActivityTestRule.getActivity(), R.id.toolbar
        ))).perform(click());
    }

    @Test
    public void clickGovNavigationItem_ShowsGovActivity() {
        //open drawer
        onView(withId(R.id.drawerlayout))
                .check(matches(isClosed(Gravity.LEFT))) //left drawer should be closed
                .perform(open());
        //start the gov Screen
        onView(withId(R.id.navigation_view))
                .perform(navigateTo(R.id.action_gov));

        //check that the Gov Activity was opened
        onView(withId(R.id.gov_frag_frame))
                .check(matches(isDisplayed()));
    }

}

听起来 ProGuard 正在删除所需的接口之一。我认为你需要在你的 Proguard 配置中添加如下行:

-保留公共接口 android.support.test.espresso.IdlingResource$ResourceCallback {*;}

我目前没有办法测试它,所以如果这不太正确并且您需要调整它,这里有一个关于“保留”选项的 Proguard 手册的链接:http://proguard.sourceforge.net/manual/usage.html#keepoverview http://proguard.sourceforge.net/manual/usage.html#keepoverview

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java.lang.NoSuchMethodError:没有接口方法 onTransitionToIdle()V 的相关文章

随机推荐

  • 将一组 NumPy 数组传递到 C 函数中进行输入和输出

    假设我们有一个 C 函数 它接受一组一个或多个输入数组 处理它们 并将其输出写入一组输出数组 签名如下所示 count表示要处理的数组元素的数量 void compute int count float input float output
  • 使用 Webpack 和 ES6 的 Fine Uploader

    我正在尝试将 Fine uploader 与通过 Webpack 捆绑的 React ES6 应用程序集成 寻找有关如何将精细上传器包含在此堆栈中的指导 In my webpack config js我为 Fine Uploader 设置了
  • 在javascript中使用单引号传递变量

    我对链接进行了 onClick 调用 a this is working good 问题是 fomateName 内的变量将包含单引号 而我的 fomateName 采用如下变量 var a Andrew D souza 需要格式化用单引号
  • 定义指向 const 字符串的 const 指针

    阅读了 Ulrich Drepper 的博文 发现两个条目看起来相互矛盾 In the 第一 http udrepper livejournal com 13851 html 全局空间中的字符串 Ulrich 指出该字符串应定义为 cons
  • Linux下如何用C写文件?

    我想重写Linux的 cp 命令 所以这个程序会像这样工作 a out originalfile copiedfile 我可以打开文件 创建新文件 但无法写入新文件 什么也没写 可能是什么原因 当前的C代码是 include
  • 无法将类型“TEnum”转换为“int”

    我正在尝试将枚举转换为列表 如中所述this https stackoverflow com questions 3489453 how can i convert an enumeration into a listselectlisti
  • 降低 jquery UI 中手风琴的速度

    我对这段代码有两个问题 首先我想降低效果的速度 其次 就像您对效果进行操作以关闭选项卡一样 然后将出现以下新选项卡 if sidebar ul length sidebar ul accordion event mouseover acti
  • 从 SQLite 中的 INSERT OR IGNORE 语句查找自动递增值

    我有一个名为 图像 的表 CREATE TABLE images id INTEGER PRIMARY KEY AUTOINCREMENT url TEXT NOT NULL UNIQUE caption TEXT 插入行时 我希望 URL
  • `npm install` 和 `npmaudit` 计数之间的区别?

    最近添加后npm audit 用于审核依赖关系 我注意到有多少个包之间存在巨大差异added 安装在node modules 以及有多少个audited by npm 这是一个例子 这是我的问题 我说得对吗281已安装的软件包总数是多少 W
  • Selenium 单击与文本对应的 JavaScript 按钮

    我的网页中有很多按钮 它们也是 javascript 按钮 所有这些按钮都有相同的 TagName 但 id 不同 但我不能使用 ID 因为我无法预测必须单击哪个按钮 Selenium 将搜索内容 问题here https stackove
  • 在网络上创建电子邮件表单时的安全注意事项

    我知道我必须考虑 邮件头注入 还有更多的事情吗在发送表格邮件之前我需要知道吗 我想要邮件 我觉得我必须设置表单邮件在我的页面上 但我听说邮件事情很危险 如果我 不考虑所有安全问题 1 避免垃圾邮件 使用验证码或其他东西来防止垃圾邮件 链接谈
  • 返回位于本地堆栈上的块

    clang 分析器可以检查返回的基于堆栈的内存 dispatch block t getPrintBlock const char msg return printf s msg 引发此错误 returning block that liv
  • 无法在 iOS8 上设置交互式推送通知

    我已经能够设置交互式本地通知 但远程通知不起作用 我正在使用 Parse com 发送 JSON 我的 AppDelegate Swift 看起来像这样 AppDelegate swift SwifferApp Created by Tra
  • knitr 中 python 块的根目录?

    我希望这并不像我感觉的那么简单 我已经设置了一个基本目录 root gt Paper gt Code 对于我正在写的一篇论文 我想从 Paper 目录中的knitr 文档调用 Code 目录中的 Python 脚本 类似于this http
  • Pandas:如何将列中的多个列表拆分为多行?

    我有一只熊猫DataFrame看起来像下面这样 bus uid bus type type obj uid 0 biomass DEB31 biomass output Simple 139804698384200 0 biomass DE
  • 是否可以在 docker 构建期间挂载 tmpfs?

    我目前正在构建包含交叉编译器的容器 由于这些必须在构建阶段构建 如果我可以使用 tmpfs 来实现这一点 那将非常有用 因为一旦安装了各种软件包 构建目录将毫无意义 有什么方法可以说服 docker 在构建时挂载 tmpfs 分区吗 Non
  • 打开的设备太多[重复]

    这个问题在这里已经有答案了 我试图将许多图表写入一个位置 但它却写入了一堆空白图片 我的代码如下所示 titleplot lt NULL for i in 1 99 titleplot lt colnames data i mypath l
  • 从列表中获取随机元素

    我基本上是在寻找 Ruby 的 Elixir 等价物Array sample http ruby doc org core 2 2 0 Array html sample method 可以让我这样做的东西 list 1 2 3 4 5 6
  • IvyDE + WTP:如何解决 Ivy 库被 WTP 忽略的问题?

    我发现 IvyDE 允许我解决 Web 应用程序的冻结核心版本的突出问题 该版本需要能够从更新库中提取额外的代码 以便它位于 Web 应用程序的类路径上 为了提高开发速度 我发现 在工作区中解析 功能允许 Eclipse 将更新库项目的文件
  • java.lang.NoSuchMethodError:没有接口方法 onTransitionToIdle()V

    请告诉我 我是 Android 测试新手 我一直在尝试修复初始 NavigationView 测试 但收到错误 我只是想打开抽屉并单击菜单以进入新活动 java lang NoSuchMethodError No interface met